Solr 多词搜索
Solr multiple word search
我想知道如何通过在搜索中添加多个单词来搜索行。
即文本是
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
如果我搜索棕色,我应该在结果中得到两行
如果我搜索 quick brown 我应该只得到第一行
这可以用 solr 实现吗?
您可以通过在 edismax 查询解析器(以及 dismax 查询解析器)中使用 mm
参数来调整 Solr 匹配多个术语的方式。在第二个示例中(第二行应该被排除在外),mm
参数允许您精确调整文档需要匹配多少个术语才能被认为对搜索有效。
在第二个示例中,第二行的得分将低于第一行,但您无法将其排除。
亲爱的,您可以在要在单个文档中搜索的两项工作之间使用 AND 运算符 (&&)。
比如:"quick" AND "brown" 会给你一个第一份文件。
AND 运算符匹配两个术语都存在于单个文档文本中的任何位置的文档
也更喜欢使用+号来表示文档中的单词强制。
+棕色+快速
“+”或必需运算符要求“+”符号后的术语存在于单个文档字段中的某处。
参考:https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
我想知道如何通过在搜索中添加多个单词来搜索行。
即文本是
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
如果我搜索棕色,我应该在结果中得到两行 如果我搜索 quick brown 我应该只得到第一行
这可以用 solr 实现吗?
您可以通过在 edismax 查询解析器(以及 dismax 查询解析器)中使用 mm
参数来调整 Solr 匹配多个术语的方式。在第二个示例中(第二行应该被排除在外),mm
参数允许您精确调整文档需要匹配多少个术语才能被认为对搜索有效。
在第二个示例中,第二行的得分将低于第一行,但您无法将其排除。
亲爱的,您可以在要在单个文档中搜索的两项工作之间使用 AND 运算符 (&&)。 比如:"quick" AND "brown" 会给你一个第一份文件。 AND 运算符匹配两个术语都存在于单个文档文本中的任何位置的文档
也更喜欢使用+号来表示文档中的单词强制。
+棕色+快速
“+”或必需运算符要求“+”符号后的术语存在于单个文档字段中的某处。
参考:https://lucene.apache.org/core/2_9_4/queryparsersyntax.html