如何在Solr的一个字段中搜索多个单词?

时间:2018-10-11 12:59:40

标签: solr solr4

我在solr中有一个文本类型列表字段。

field1:{"key1:val1,key2:val2,key3:val3", "key1:val1,key2:val2"}

我想构成一个查询,以便当我搜索key1:val1 and key3:val3时得到两个字符串都为key1:val1 and key3:val3的结果。

我应该如何形成查询?

2 个答案:

答案 0 :(得分:1)

如果这些是多值字段中的值,则不能-直接。您必须使用诸如突出显示之类的内容来告诉您Solr与之匹配的位置。

没有办法告诉Solr“我只想要在这组值内匹配的值”。

如果这是查询索引的必要方法,请将值作为单独的文档而不是单独的集合进行索引。在这种情况下,您将不得不记录文档,一个使用field1:"key1:val1,key2:val2,key3:val3",另一个使用key1:val1,key2:val2

答案 1 :(得分:0)

您可以将fq与AND一起使用。

赞:

fq=key1:val1 AND key3:val3

使用此过滤器查询,您将仅获得key1 = val1 AND key3 = val3的记录。