我在solr中有一个文本类型列表字段。
field1:{"key1:val1,key2:val2,key3:val3", "key1:val1,key2:val2"}
我想构成一个查询,以便当我搜索key1:val1 and key3:val3
时得到两个字符串都为key1:val1 and key3:val3
的结果。
我应该如何形成查询?
答案 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的记录。