Drupal 是否提供 interchanged/partial 单词搜索功能?
Does Drupal provides interchanged/partial word search facility?
Drupal 是否提供 interchanged/partial 单词搜索,例如:如果我正在搜索 "search term" 也应该 return 搜索结果显示 "term search".
实际上,有一种使用 Search API and the Search API Database Search 模块进行设置的快速方法。 不需要 Solr。
- 启用这两个模块并转到搜索 API 配置页面
(admin/config/search/search_api)
- 添加一个服务器并给它一个可识别的名称(例如"MySQL"),确保它是启用的
- 选择以下服务 class:数据库服务(通常是唯一的选项。如果您没有看到它,请确保 "Search API Database Search"模块已启用)。
- Select使用此服务 class 将为您提供选项 搜索部分单词(确保启用它)。现在点击 "Create server"。接下来,返回搜索 API 配置页面,然后 添加索引 。再次给它一个可识别的名称,例如 "Contentindex",并确保它已启用。
- Select 您最近创建的服务器(在本例中为 "MySQL")。数据源选项:检查你想要索引的内容类型(这个字段的描述可能有点混乱,但不要误会:你应该检查你想要索引的内容类型,而不是你想要遗漏的内容类型)。
- 您可以检查 "Index items immediately",但这取决于您的内容的大小。此选项适用于较小的网站。在另一种情况下:让 cron 来处理它。命中 "Create index".
- 接下来,您要为该索引启用 字段 (在字段选项卡中),例如:内容类型、标题、状态和作者 - 然后点击 "Save changes"(我们稍后会处理相关字段)。
- 然后您要配置 过滤器(在过滤器选项卡中)。如果您想再次微调内容类型(可能不需要),您可以在此处启用 捆绑过滤器。
- 您会在下方找到突出显示过滤器,用于在结果中突出显示搜索词。
- 现在 return 到字段选项卡并展开 "Add related fields" 选项卡。添加所有你想要索引内容的字段,然后点击保存最后转到索引的"view"选项卡,现在索引所有项目。
最后一步是在视图中创建搜索结果页面和搜索块,这只需要几分钟。
- 确保子模块 Search Views 已启用并创建将 显示 "Contentindex"[=60= 的视图页面](select 您为索引配置指定的名称,而不是 "content" 默认情况下 select。
- 添加每个搜索结果应包含的所有字段(确保您的格式为 "fields")(标题 [link 到内容],body,...)。
您会注意到这些字段看起来像这样 Indexed Node: Title
- 添加公开过滤器:搜索:全文搜索; select 其设置中的以下内容:包含这些词中的任何一个,并用作:搜索键。
大功告成!
有一个 excellent video tutorial on this partial search method without Solr,它也包含分面搜索(这对于部分搜索来说不是必需的,但如果您有兴趣……)。如果您只是寻找部分搜索选项,您可以观看视频直到 5:08,然后跳到 6:45。
参考:
Drupal 是否提供 interchanged/partial 单词搜索,例如:如果我正在搜索 "search term" 也应该 return 搜索结果显示 "term search".
实际上,有一种使用 Search API and the Search API Database Search 模块进行设置的快速方法。 不需要 Solr。
- 启用这两个模块并转到搜索 API 配置页面
(admin/config/search/search_api) - 添加一个服务器并给它一个可识别的名称(例如"MySQL"),确保它是启用的
- 选择以下服务 class:数据库服务(通常是唯一的选项。如果您没有看到它,请确保 "Search API Database Search"模块已启用)。
- Select使用此服务 class 将为您提供选项 搜索部分单词(确保启用它)。现在点击 "Create server"。接下来,返回搜索 API 配置页面,然后 添加索引 。再次给它一个可识别的名称,例如 "Contentindex",并确保它已启用。
- Select 您最近创建的服务器(在本例中为 "MySQL")。数据源选项:检查你想要索引的内容类型(这个字段的描述可能有点混乱,但不要误会:你应该检查你想要索引的内容类型,而不是你想要遗漏的内容类型)。
- 您可以检查 "Index items immediately",但这取决于您的内容的大小。此选项适用于较小的网站。在另一种情况下:让 cron 来处理它。命中 "Create index".
- 接下来,您要为该索引启用 字段 (在字段选项卡中),例如:内容类型、标题、状态和作者 - 然后点击 "Save changes"(我们稍后会处理相关字段)。
- 然后您要配置 过滤器(在过滤器选项卡中)。如果您想再次微调内容类型(可能不需要),您可以在此处启用 捆绑过滤器。
- 您会在下方找到突出显示过滤器,用于在结果中突出显示搜索词。
- 现在 return 到字段选项卡并展开 "Add related fields" 选项卡。添加所有你想要索引内容的字段,然后点击保存最后转到索引的"view"选项卡,现在索引所有项目。
最后一步是在视图中创建搜索结果页面和搜索块,这只需要几分钟。
- 确保子模块 Search Views 已启用并创建将 显示 "Contentindex"[=60= 的视图页面](select 您为索引配置指定的名称,而不是 "content" 默认情况下 select。
- 添加每个搜索结果应包含的所有字段(确保您的格式为 "fields")(标题 [link 到内容],body,...)。
您会注意到这些字段看起来像这样 Indexed Node: Title - 添加公开过滤器:搜索:全文搜索; select 其设置中的以下内容:包含这些词中的任何一个,并用作:搜索键。
大功告成!
有一个 excellent video tutorial on this partial search method without Solr,它也包含分面搜索(这对于部分搜索来说不是必需的,但如果您有兴趣……)。如果您只是寻找部分搜索选项,您可以观看视频直到 5:08,然后跳到 6:45。参考: