Search 多词搜索

Search 多词搜索,search,solr,Search,Solr,我想知道如何通过在搜索中添加多个单词来搜索行 i、 电子文本是 The quick brown fox jumps over the lazy dog 我想搜索 quick dog 这样我就可以得到这一行的结果 如果我搜索 快象 但我还是应该得到这一排的结果 The quick brown fox jumps over the lazy dog The lazy brown fox jumps over the lazy dog 如果我搜索brown,我将得到结果中的两行 如果我搜索qui

我想知道如何通过在搜索中添加多个单词来搜索行

i、 电子文本是

The quick brown fox jumps over the lazy dog
我想搜索

quick dog
这样我就可以得到这一行的结果

如果我搜索

快象

但我还是应该得到这一排的结果

The quick brown fox jumps over the lazy dog
The lazy brown fox jumps over the lazy dog
如果我搜索brown,我将得到结果中的两行 如果我搜索quick brown,我只会得到第一行


使用solr可以实现这一点吗?

您可以通过使用eDiscovery查询解析器(以及dismax查询解析器)中的
mm
参数来调整solr匹配多个术语的方式。第二个示例(第二行应排除在外)中,
mm
参数允许您精确调整需要匹配多少术语才能将文档视为对搜索有效


在第二个示例中,第二行的得分将低于第一行,但您无法将其排除。

亲爱的,您可以在两个工作之间使用AND运算符(&&),以便在单个文档中搜索。 例如:“快速”和“棕色”将为您提供第一份文档。 AND运算符匹配两个术语都存在于单个文档文本中任何位置的文档

也更喜欢使用+符号表示文档中的强制字

+棕色+快速

“+”或required运算符要求“+”符号后的术语存在于单个文档字段的某个位置


参考:

可能重复@Pankaj,您对此做了多少研究。。?您是否定义了模式文件和索引示例文档并验证了它们?如果不使用标准安装和索引一些数据并进行验证,请为数据使用文本类型。现在我明白了,即使谷歌也不会这样显示结果。现在我集中精力首先展示最大的比赛结果。“在第二个示例中,第二行的得分将低于第一行,但您无法将其排除。”因此,现在如果我要搜索奥迪A5,我希望先显示两个单词的结果,然后仅显示奥迪或a5@PankajS这将是Solr的默认行为,因为更多的匹配条款将得分高于单场比赛。除非你按照其他标准排序。使用debugQuery查看各个子句如何影响查询结果。