maxchene/kirby3-typesense

Kirby 插件,使用 typesense 实现快速搜索

1.0.2 2023-08-03 14:15 UTC

This package is auto-updated.

Last update: 2024-09-03 16:30:16 UTC


README

此插件允许您将 Kirby 页面索引到 typesense,并为您的网站提供全文搜索功能。

概览

此插件免费且受 MIT 许可证保护,如果您觉得它有用,我将感到非常高兴。如果您计划将其用于商业用途,或者如果您节省了一些时间,请考虑通过以下方式帮助我维护此插件:通过捐赠赞助

1. 在您的服务器上安装 Typesense

1.1 什么是 Typesense?

Typesense 是 Algolia 或 ElasticSearch 的开源替代品。它是免费的,并提供一个快速且容错的搜索引擎。

1.2 安装 Typesense

要使用此插件,您需要在您的服务器上 安装 Typesense


2. 安装 Kirby Typesense 插件

下载并将此存储库复制到 /site/plugins/typesense

或者更好的是,为了便于更新,使用 composer 安装:composer require maxchene/kirby3-typesense


3. 配置

编辑您的配置文件:site/config/config.php,以添加您自己的插件配置。

下面是它应该看起来像什么

'maxchene.typesense' => [
        'host' => 'localhost:8108', # typesense host and port
        'key' => 'secret', # typesense API key
        'num_typos' => 2, # number of allowed typo error
        'schema' => [
            'name' => 'my-collection',
            'fields' => [
                ['name' => 'content', 'type' => 'string'],
                ['name' => 'type', 'type' => 'string']
            ]
        ],
        'templates' => [
            'article' => function (Page $page) {

            },
            'default' => function (Page $page) {
                return [
                    'content' => 'text content that should be indexed for fulltext search',
                    'type' => 'default'
                ];
            }
        ]
    ]

3.1 模式配置

3.2 模板配置

4. 使用全文搜索

将搜索配置文件中提供的所有字段。


4.1 网站方法

此插件提供对 $site->typesenseSearch(string $query, int $limit, int $page) 方法的访问,只要 $site 可用:模板、控制器等。


4.2 Typesense 搜索

您还可以创建一个 TypesenseSearch 实例。

 $searchEngine = new TypesenseSearch();
 $results =  $searchEngine->search($query, $limit, $page);

5. 命令行

6. 完整配置示例

7. TODOs

  • 添加命令行工具
  • 改进文档或启用此存储库的维基页面
  • 可能添加一个页面方法来构建索引内容