Search API 常用步骤
1. 安装模块 Search Api
安装两个模块,Database Search and Search API 。
然后,推荐卸载 Core Search 模块。
2. 添加 Search Server
导航到:/admin/config/search/search-api
添加服务:
4. 添加索引
导航到/admin/config/search/search-api
,添加一个针对产品实体的索引。
搜索服务选择我们刚刚选好的。
点保存并添加字段后,添加需要索引的字段,对于产品而言,我们可以选择正文的处理的文本来作为索引字段,如下:
以此类推,添加好剩下的字段,如下:
然后在字段配置里,对刚刚添加进来的字段进行索引配置。
一般来说,类型选用“全文本”,这样,字段的值才具有分词搜索的作用。
然后给定不同字段的不同Boost,权重,分配命中权重,这样这个字段的匹配排序就更高了,比如我想要让标题作为更高的匹配权重,那么我可以给个5的权重值,如下:
点击保存即可。
5.配置处理器
我们启用三个处理器:
处理配置:html过滤,我们不希望把产品正文里面的hmtl标签代码也作为分词的一部分,所以我们可以只对正文里的字段进行html过滤处理,如下:
6. 创建一个基础搜索页
利用drupal的视图和区块能力。
6.1 构建产品搜索视图
导航到/admin/structure/views
,添加视图。
编辑视图,如下:
保存后,编辑。
首先,删除字段-产品 datasource: 正文 » 处理的文本 (indexed field)
;
添加字段,产品 datasource 标题
然后,格式化器选择纯文本,勾选“链接到产品”:
添加字段,产品 datasource 正文
然后,格式化器选择“摘要”,输入300个字符限制:
添加过滤器“全文搜索”,如下:
配置过滤器,如下:
添加排序标准,选择“搜索-相关度”,
选择“降序排序”:
高级中,调整暴露表单-区块中暴露为“是”:
修改暴露表单-表单样式中,把“应用”更改为“搜索”,如下:
保存视图。
6.2 添加搜索表单区块
导航到/admin/structure/block
,
在对应的位置,放置刚刚我们添加好的搜索表单区块:
然后配置区块页面显示路径:
拖拽区块顺序,放到页面标题正下方:
然后就可以导航到设置好的路由去使用了。