maxchene / kirby3-typesense
Kirby 插件,使用 typesense 实现快速搜索
1.0.2
2023-08-03 14:15 UTC
Requires
- php: >=8.1
- getkirby/composer-installer: ^1.1
Requires (Dev)
- getkirby/cli: ^1.1
- symfony/var-dumper: ^6.2
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
- 添加命令行工具
- 改进文档或启用此存储库的维基页面
- 可能添加一个页面方法来构建索引内容