nglasl / silverstripe-extensible-search
此模块允许用户自定义和开发者扩展搜索页面实例,包括分析和建议。
4.1.6
2021-08-25 07:46 UTC
Requires
- silverstripe/cms: ~4.0
- silverstripe/framework: ~4.0
- dev-master / 4.1.x-dev
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.x-dev
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.1.x-dev
- 3.1.14
- 3.1.13
- 3.1.12
- 3.1.11
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.x-dev
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.x-dev
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.x-dev
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.x-dev
- 1.0.0
This package is auto-updated.
Last update: 2024-08-25 14:01:17 UTC
README
当前版本是 4.1.4
此模块允许用户自定义和开发者扩展搜索页面实例,包括分析和建议。
需求
- SilverStripe 3.1 → 4.0
入门
- 将模块放置在您的根项目目录下。
- 配置搜索引擎和搜索表单 YAML。
/dev/build
- 配置可扩展搜索页面。
概述
可扩展搜索页面
这是自动创建的,允许根据搜索引擎配置搜索(更多内容见下文)。
搜索引擎
可扩展搜索页面设计为默认使用全文搜索,同时提供对自定义搜索引擎实现(例如 Elasticsearch)的支持。
全文
SilverStripe\ORM\Search\FulltextSearchable: searchable_classes: - 'SilverStripe\CMS\Model\SiteTree' SilverStripe\CMS\Model\SiteTree: create_table_options: MySQLDatabase: 'ENGINE=MyISAM' extensions: - "SilverStripe\\ORM\\Search\\FulltextSearchable('Title', 'MenuTitle', 'Content', 'MetaDescription')"
在考虑使用哪种搜索引擎时,全文搜索有一些重要的限制。此配置也可以应用于 File
,但遗憾的是不支持进一步自定义。
自定义搜索引擎
以下是一个示例配置,其中 ElasticSearch
扩展了抽象的 CustomSearchEngine
类
nglasl\extensible\ExtensibleSearchPage: custom_search_engines: nglasl\extensible\ElasticSearch: 'Elastic'
搜索表单
PageController: extensions: - 'nglasl\extensible\ExtensibleSearchExtension'
使用此方法,以显示用户交互的搜索表单(来自您的模板)
$SearchForm
搜索分析
这些对于确定您网站上的热门内容或内容是否难以找到用户非常重要。它们默认启用,但可以使用以下方法禁用
nglasl\extensible\ExtensibleSearch: enable_analytics: false
在触发搜索时,将 ?analytics=false
添加到 URL 将绕过搜索分析。这对于调试非常棒。
存档
根据您的搜索流量,/dev/tasks/ExtensibleSearchArchiveTask
可用于存档每个搜索页面的历史搜索分析。建议尽可能在计划中触发此操作。
搜索建议
这些与搜索分析(在这种情况下将自动填充)最有效,可以用于显示您网站上的热门搜索或搜索表单自动完成选项。它们默认启用,但可以使用以下方法禁用
nglasl\extensible\ExtensibleSearchSuggestion: enable_suggestions: false
要启用使用 approved 搜索建议的自动完成。
Requirements::javascript('nglasl/silverstripe-extensible-search: client/javascript/extensible-search-suggestions.js'); // OPTIONAL. Requirements::css('jquery-ui.min.css'); Requirements::javascript('jquery-ui.min.js');
智能模板
可以为您的搜索结果定义特定的自定义搜索引擎模板。以下是两个示例
ElasticSearch_results.ss
或 Page_results.ss
SS4 变更
- 自定义搜索引擎实现已更改,不再使用扩展(见上方)。
维护者联系方式
Nathan Glasl, [email protected]