silverstripe / silverstripe-forager-elastic-enterprise
Elastic Enterprise Search 提供商,用于 Silverstripe Forager
Requires
- php: ^8.1
- elastic/enterprise-search: ^8.6
- guzzlehttp/guzzle: ^7
- silverstripe/framework: ^5.1
- silverstripe/silverstripe-forager: ^1
Requires (Dev)
README
此模块提供了使用 Elastic 的 Enterprise Search PHP 库索引应用程序搜索引擎内容的能力。
Elastic Enterprise Search 提供商,用于 Silverstripe Forager。
注意:此模块不提供在您的引擎上执行搜索的方法 - 我们提供了一些建议。
注意:App Search 是 Elastic Enterprise Search 包含的产品之一,在此模块中,这两个名称目前可以互换使用。此模块目前不支持 Workplace Search(这是 Enterprise Search 包含的另一个产品)。
安装
composer require silverstripe/silverstripe-forager-elastic-enterprise
激活 EnterpriseSearch
要开始使用 Elastic Enterprise Search,请定义包含您的私有 API 密钥、端点和前缀的环境变量。
ENTERPRISE_SEARCH_ENDPOINT="https://abc123.app-search.ap-southeast-2.aws.found.io"
ENTERPRISE_SEARCH_ENGINE_PREFIX="engine-name-excluding-variant"
ENTERPRISE_SEARCH_API_KEY="private-abc123"
配置 Enterprise Search
Enterprise Search 最显著的配置界面是架构,它决定了数据如何存储在您的 Enterprise Search 索引(引擎)中。Enterprise Search 中有四种数据类型:
text
(默认)日期
数字
地理位置
您可以在字段的 options
节点中指定这些数据类型。
SilverStripe\Forager\Service\IndexConfiguration: indexes: myindex: includeClasses: SilverStripe\CMS\Model\SiteTree: fields: title: true summary_field: property: SummaryField options: type: text
注意:请小心随意更改架构。如果更改字段的名称,EnterpriseSearch 可能需要完全重新索引。字段无法删除,因此重命名一个字段将留下任何先前创建的字段。撰写本文时,每个引擎的字段限制为 64 个。
附加文档
大多数文档由 Silverstripe Forager 模块提供。以下是一些可能对您有用的文档:
搜索
PHP
要使用 PHP 进行搜索,可以使用 silverstripe-discoverer 以及 silverstripe-discoverer-elastic-enterprise 提供模块。
JS
Elastic 本身提供了一个无头 Search UI JS 库,它可以与纯 JavaScript 或任何框架(如 React、Vue 等)一起使用。
有两个主要库:
- @elastic/search-ui-app-search-connector
- 提供了一个类,帮助您连接到您的 Elastic App Search API。
- @elastic/search-ui
- 提供了一个类,允许您执行搜索和管理您的搜索状态。
如果您使用 React,则还有 @elastic/react-search-ui,它提供了界面组件。
如果您不使用 React,则视图的创建将取决于您。