Search API 常用步骤

1. 安装模块 Search Api

安装两个模块,Database Search and Search API 。

然后,推荐卸载 Core Search 模块。

2. 添加 Search Server

导航到:/admin/config/search/search-api

添加服务:

Search API - 图1

4. 添加索引

导航到/admin/config/search/search-api,添加一个针对产品实体的索引。

Search API - 图2

搜索服务选择我们刚刚选好的。

Search API - 图3

点保存并添加字段后,添加需要索引的字段,对于产品而言,我们可以选择正文的处理的文本来作为索引字段,如下:

Search API - 图4

以此类推,添加好剩下的字段,如下: Search API - 图5

然后在字段配置里,对刚刚添加进来的字段进行索引配置。

一般来说,类型选用“全文本”,这样,字段的值才具有分词搜索的作用。

然后给定不同字段的不同Boost,权重,分配命中权重,这样这个字段的匹配排序就更高了,比如我想要让标题作为更高的匹配权重,那么我可以给个5的权重值,如下:

Search API - 图6

点击保存即可。

5.配置处理器

我们启用三个处理器: Search API - 图7

处理配置:html过滤,我们不希望把产品正文里面的hmtl标签代码也作为分词的一部分,所以我们可以只对正文里的字段进行html过滤处理,如下:

Search API - 图8

6. 创建一个基础搜索页

利用drupal的视图和区块能力。

6.1 构建产品搜索视图

导航到/admin/structure/views,添加视图。

编辑视图,如下:

Search API - 图9

保存后,编辑。

首先,删除字段-产品 datasource: 正文 » 处理的文本 (indexed field)

添加字段,产品 datasource 标题 Search API - 图10

然后,格式化器选择纯文本,勾选“链接到产品”:

Search API - 图11

添加字段,产品 datasource 正文

Search API - 图12

然后,格式化器选择“摘要”,输入300个字符限制:

Search API - 图13

添加过滤器“全文搜索”,如下:

Search API - 图14

配置过滤器,如下:

Search API - 图15

添加排序标准,选择“搜索-相关度”,

Search API - 图16

选择“降序排序”:

Search API - 图17

高级中,调整暴露表单-区块中暴露为“是”:

Search API - 图18

修改暴露表单-表单样式中,把“应用”更改为“搜索”,如下:

Search API - 图19

保存视图。

6.2 添加搜索表单区块

导航到/admin/structure/block

在对应的位置,放置刚刚我们添加好的搜索表单区块:

Search API - 图20

然后配置区块页面显示路径:

Search API - 图21

拖拽区块顺序,放到页面标题正下方:

Search API - 图22

然后就可以导航到设置好的路由去使用了。

Search API - 图23