silverstripe/silverstripe-search-sdk

Silverstripe 搜索的软件开发工具包

1.1.4 2024-09-13 00:23 UTC

This package is auto-updated.

Last update: 2024-09-13 00:34:28 UTC


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_ENDPOINTBIFROST_ENGINE_PREFIX 添加为变量,而 BIFROST_MANAGEMENT_API_KEYBIFROST_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 包含一个基本的搜索页面类型、控制器和模板,这些与 discovererforager 模块一起使用。您可以使用 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