我需要选择所有包含单词“6”和“buldings”的记录。我正在向我的solr创建这样的查询:
/select?q=name:2+AND+buildings
solr给我返回128个结果。大多数结果都有类似“126栋”或“建筑物7260”的东西,但我只需要带有“6”和“建筑物”字样的记录。
但如果我在查询中更改单词的位置:
/select?q=name:buildings+AND+2
它给我带来了另一个结果 - 正确的结果!这次没有奇怪的记录,单词“7260”或“126”只记录我真正需要的单词“6”和“建筑物”。
所以请sombody向我解释为什么solr在第一种情况下返回如此奇怪的结果,因为我创建查询而不考虑solr可以返回不同的结果,如果单词的位置被更改。并且我如何指向solr只搜索“6”如果它在单词之前?
任何有用的帮助。
答案 0 :(得分:1)
name:buildings AND 2
与name:2 AND buildings
不同,因为字段(“name”)仅应用于查询中的第一个字词。另一个是在查询解析器的默认字段中搜索。
name:buildings AND 2
与:name:buildings AND defaultfield:2
name:2 AND buildings
与:name:2 AND defaultfield:buildings
如果要在“名称”字段中搜索两者,可以使用如下查询:
name:(2 AND buildings)