首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更好地搜索Drupal中严格匹配单词的Api Solr分数排序

更好地搜索Drupal中严格匹配单词的Api Solr分数排序
EN

Drupal用户
提问于 2016-12-09 09:40:58
回答 1查看 1.3K关注 0票数 1

提供了以下配置:

  • Search查看页面(与Solr服务器连接)具有“搜索:全文搜索”公开的筛选器,仅在一个“全文”聚合字段(节点标题)上搜索。
  • 所有内容都是荷兰语;

问题:

具有如下节点标题的列表:

  • AVENE CREM营养复合罐50 ML
  • 乳膏50毫升
  • AVENE TRIXERA营养品纽崔-弗莱德400
  • 营养学MEMOTONIC 7
  • 营养维生素A-D银杏30汤匙

搜索关键字"Nutritic“将返回以下命令:

  • 营养学MEMOTONIC 7
  • AVENE CREM营养复合罐50 ML
  • 乳膏50毫升
  • AVENE TRIXERA营养品纽崔-弗莱德400
  • 营养维生素A-D银杏30汤匙

似乎关键字"NUTRITI“被认为是相同的”营养学“。

怎样才能保证搜索关键词“营养品”中包含具体“营养品”的内容会比其他内容有更大的分数?

EN

回答 1

Drupal用户

回答已采纳

发布于 2016-12-09 15:51:31

刚刚与Solr本人合作过(英文)课文。您需要确保Solr配置为搜索您想要的方式。Solr配置提供了开箱即用:

  • 一种不区分大小写的停止搜索(模糊,例如搜索“野蛮”、“野蛮”、“野蛮”等,而搜索忽略标点符号。它还支持短句搜索,如“查找此文本”,尽管7.x-1.20中的搜索API有一个错误,可以从引号字符串中删除min_length单词:https://www.drupal.org/node/2832196

这一问题已在2016年9月12日发布的-dev当前版本中得到解决。

你有两个选项--

  1. 因此,如果默认终止搜索对您有效,因为-是可以的。如果您想要在没有词干的情况下进行准确的单词搜索,则需要更改Solr模式以索引text内容,这与其开箱即用的方式不同。对于非词干搜索,区分大小写的搜索将分析和查询以及多部分逻辑更改为不使用SnowballPorterStemmer和CaseInsenitive。这是一些概述,但已过时的Solr 5x在这个drupal问题。https://www.drupal.org/node/1319516#comment-5158076 Solr 5x分解了enablePositionIncrements=true,所以不要在注释中这样做,它会工作的。
  2. 如果你喜欢搜索的话。你也可以提高准确的单词得分高于不准确的结果。您可以这样做:
    • 使用alter添加假实体属性,并将文本内容从字段复制到该字段中。
    • 然后,您将在Solr架构中定义一个solr字段,用于此drupal实体属性字段,该字段不对返回的结果使用词干
    • 在索引中包含这个假属性字段。
    • 对于solr查询,请使用alter,在搜索查询中包含此字段,并带有boost (&myfield="FOOBAR"^10)。

下面是如何添加要增强的假实体属性:http://cornel.co/article/add-entity-property-node-which-can-be-used-search-api-index-field

然后,它只是您表单中的一个查询更改(这里是apachesolr模块,但对于search,它是相同的):https://www.phase2technology.com/blog/techniques-to-improve-your-solr-search-results/

Solr真有趣!(叹息)这真的很酷,但也很累赘。

票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/222584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档