dnadesign / silverstripe-fulltextsearchdefault
在 SilverStripe 中实现全文搜索索引和搜索表单的基本功能
Requires
- silverstripe/fulltextsearch: dev-master#15daed3edc3d8ab7f985c9af3dc6c1de2930126b
This package is auto-updated.
Last update: 2024-09-09 12:36:43 UTC
README
此模块扩展了FullTextSearch模块,提供了默认配置,包括基本的 Solr 配置和搜索结果页面。
由于 FullTextSearch 模块仍在开发中,可能会发生变化,因此该模块应被视为 alpha 版本。在不久的将来,FulltextSearch 模块也可能直接提供此功能。
安装
要开始使用 Solr,请安装此模块以及全文搜索模块,并运行 dev/build。在运行数据库重建后,启动 Solr 服务器。
全文搜索模块提供了一个基本的适合测试的服务器。要启动它,请运行
cd fulltextsearch/thirdparty/solr/server/ && java -jar start.jar &
如果 Solr 已启动并正在运行,我们应首先确保数据目录存在(默认:/data/solr)或通过 _ss_environment.php
文件中的 SOLR_BASE_PATH 值进行配置。
mkdir /data/solr
确保您的 Web 服务器可以写入该文件夹。然后,要填充该目录,请运行配置任务
sake dev/tasks/Solr_Configure
这将填充 /data/solr/FulltextSearchDefaultIndex/conf
目录,包括 schema.xml
和 solrconfig.xml
等配置文件。有关这些文件的更多信息,请参阅Solr 手册
有关 SilverStripe 对 Solr 的包装的更多信息,请直接查看全文搜索模块。
用法
此模块将为 CMS 提供一个名为 FulltextSearchDefaultPage
的新页面类型,以及默认索引。有关自定义索引的更多信息,请见下文。
页面类型和索引都旨在成为开发人员扩展以充分利用 Solr 服务的起点。
扩展内置索引
要索引您自己的数据对象,请从 FulltextSearchDefaultIndex
类中派生,并添加您自己的类型。
:::php
<?php
class CustomFulltextSearchIndex extends FulltextSearchDefaultIndex {
public function init() {
parent::init();
// adds a new dataobject to the search
$this->addClass('MyDataObjectProduct');
// define a new field to search
$this->addFulltextField('ProductDescription', 'HTMLText')
}
}
通过使用 Config
api 告诉 FulltextSearchDefaultPage
您想使用您的新索引。
:::yml
FulltextSearchDefaultPage:
index_class: CustomFulltextSearchIndex