silverstripe / silverstripe-search-sdk
Silverstripe 搜索的软件开发工具包
Requires
- php: ^8.1
- silverstripe/silverstripe-discoverer: 1.1.1
- silverstripe/silverstripe-discoverer-bifrost: 1.1.0
- silverstripe/silverstripe-discoverer-elastic-enterprise: 1.1.0
- silverstripe/silverstripe-discoverer-search-ui: 0.2.1-alpha
- silverstripe/silverstripe-forager: 1.0.0
- silverstripe/silverstripe-forager-bifrost: 1.0.4
- silverstripe/silverstripe-forager-elastic-enterprise: 1.0.0
README
Silverstripe 搜索旨在轻松集成 Silverstripe CMS。此软件开发工具包(SDK)是集成应用程序的一站式解决方案。
设置
在开始使用此 SDK 之前,您需要
- Silverstripe CMS 应用程序
- Bifröst 环境变量(在您注册 Silverstripe 搜索时提供)
安装
要安装完整的 SDK,请运行
composer require silverstripe/silverstripe-search-sdk
使用 SDK
环境变量
要开始,您需要添加 Bifröst 环境变量(在您注册 Silverstripe 搜索时提供)。
对于本地开发,这通常在您的 .env
文件中完成,并应如下所示
BIFROST_ENDPOINT=<< provided on sign up >>
BIFROST_ENGINE_PREFIX=<< provided on sign up >>
BIFROST_MANAGEMENT_API_KEY=<< provided on sign up >>
BIFROST_QUERY_API_KEY=<< provided on sign up >>
对于 Silverstripe Cloud,您应将 BIFROST_ENDPOINT
和 BIFROST_ENGINE_PREFIX
添加为变量,而 BIFROST_MANAGEMENT_API_KEY
和 BIFROST_QUERY_API_KEY
应添加为秘密。
配置
您还需要设置一个初始索引配置文件。我们建议使用 app/_config/search.yml
,以便以后容易找到。一个简单的索引,仅索引页面标题,如下所示
SilverStripe\Forager\Service\IndexConfiguration: indexes: main: includeClasses: SilverStripe\CMS\Model\SiteTree: fields: title: property: Title
在此,索引变体的名称为 main
。这添加到您的 BIFROST_ENGINE_PREFIX
中,以给出索引的完整名称。例如,如果 BIFROST_ENGINE_PREFIX=search-acme-prod
,则此索引的完整名称为 search-acme-prod-main
。
有一系列选项可供您自定义索引,以充分利用您的内容。有关更多信息,请参阅 Forager 配置文档。
警告
一旦将字段添加到索引中,就不能更改其名称或类型,除非删除引擎,因此请仔细选择字段名称。
下一步
从这里,我们建议查看此 SDK 安装的各个模块
搜索内容管理
silverstripe/silverstripe-forager 模块包含用于配置服务和索引管理的无供应商接口和 admin UI。包含 Silverstripe 搜索特定实现的 silverstripe/silverstripe-forager-bifrost 将您连接到我们的 Bifröst API。
有关详细信息,请参阅 silverstripe/silverstripe-forager 文档。
搜索 UI
silverstripe/silverstripe-discoverer-search-ui 模块包含显示搜索页面结果的基部件,包括页面类型、控制器、模板和基本样式。
搜索页面和结果
silverstripe/silverstripe-discoverer-search-ui 包含一个基本的搜索页面类型、控制器和模板,这些与 discoverer 和 forager 模块一起使用。您可以使用 CMS 添加新页面类型,以便快速启动和运行。
要自定义搜索页面的外观和感觉,请查看silverstripe/silverstripe-discoverer-search-ui 文档。如果您想添加过滤器或其他高级查询选项,请前往discoverer 模块。
查询
silverstripe/silverstripe-discoverer 模块包含用于执行搜索查询的无供应商接口,包括过滤和分面。而silverstripe/silverstripe-discoverer-bifrost 包含了与Bifröst API连接的特定于Silverstripe Search的实现。
有关更多信息,请参阅silverstripe/silverstripe-discoverer 文档。
🛼 自行安装
如果您想调整安装,可以手动将上述包添加到您的 composer.json 中。例如,如果您只需要查询模块与现有页面类型集成,您只需安装silverstripe/silverstripe-discoverer 模块和 bifrost 依赖项:composer require silverstripe/silverstripe-discoverer silverstripe/silverstripe-discoverer-bifrost