如何在solr上搜索一个字段中的多个单词?
How to search multiple words in one field on solr?
我在 solr 中有一个类型为文本列表的字段。
field1:{"key1:val1,key2:val2,key3:val3", "key1:val1,key2:val2"}
我想形成一个查询,这样当我搜索 key1:val1 and key3:val3
时,我得到的结果同时包含两个字符串,即 key1:val1 and key3:val3
.
我应该如何形成查询?
您可以对 fq 使用 AND。
喜欢:
fq=key1:val1 AND key3:val3
使用此过滤器查询,您将仅获得 key1 = val1 AND key3 = val3 的记录。
如果这些是多值字段中的值,则不能 - 直接。您必须使用诸如突出显示之类的东西来告诉您 Solr 在哪里匹配它。
没有办法告诉 Solr "I only want the value that matched inside this set of values"。
如果这是查询索引的必要方式,请将值作为单独的文档索引,而不是在单独的集合中。在那种情况下,您必须改为记录,一份 field1:"key1:val1,key2:val2,key3:val3"
和一份 key1:val1,key2:val2
.
我在 solr 中有一个类型为文本列表的字段。
field1:{"key1:val1,key2:val2,key3:val3", "key1:val1,key2:val2"}
我想形成一个查询,这样当我搜索 key1:val1 and key3:val3
时,我得到的结果同时包含两个字符串,即 key1:val1 and key3:val3
.
我应该如何形成查询?
您可以对 fq 使用 AND。
喜欢:
fq=key1:val1 AND key3:val3
使用此过滤器查询,您将仅获得 key1 = val1 AND key3 = val3 的记录。
如果这些是多值字段中的值,则不能 - 直接。您必须使用诸如突出显示之类的东西来告诉您 Solr 在哪里匹配它。
没有办法告诉 Solr "I only want the value that matched inside this set of values"。
如果这是查询索引的必要方式,请将值作为单独的文档索引,而不是在单独的集合中。在那种情况下,您必须改为记录,一份 field1:"key1:val1,key2:val2,key3:val3"
和一份 key1:val1,key2:val2
.