【发布时间】:2019-06-16 18:48:14
【问题描述】:
我想根据搜索词对 solr 文档进行排序。例如搜索词是“stringABC”
那么结果的顺序应该是
字符串ABC, 字符串ABCxxxx, xxxxstringABCxxxx
solr 文档将包含很多文件,例如:标题、描述、路径、文章编号、产品代码等。
默认字段将包含多个字段,例如:标题、描述和路径。
因此,只有当搜索词满足默认字段中的任何字段时,才会返回 solr doc。
【问题讨论】:
标签: solr
我想根据搜索词对 solr 文档进行排序。例如搜索词是“stringABC”
那么结果的顺序应该是
字符串ABC, 字符串ABCxxxx, xxxxstringABCxxxx
solr 文档将包含很多文件,例如:标题、描述、路径、文章编号、产品代码等。
默认字段将包含多个字段,例如:标题、描述和路径。
因此,只有当搜索词满足默认字段中的任何字段时,才会返回 solr doc。
【问题讨论】:
标签: solr
使用三个字段 - 一个带有精确字符串,一个带有 EdgeNgramTokenizer,一个带有 NgramTokenizer。然后,您可以使用qf=field1^10 field2^5 field3 根据您希望它们之间的优先级如何对这些字段中的匹配进行评分。
【讨论】:
field1:stringABC^10 field2:stringABC^5 field3:stringABC)。不过,我建议使用 edismax 解析器。
q 参数,如上所示。当涉及到分组排序时,这将是一个不同的用例 - 先尝试一下,看看你是否得到了你想要的结果。