【发布时间】:2016-09-20 23:56:21
【问题描述】:
我在 solr(5.1) 中使用 3 个术语进行搜索,当我更改术语的顺序时会得到不同的结果。 当我使用来自 solr 的 debugQuery 时,我发现当术语之间的运算符为 AND 时,solr 正在添加 +(required operator)。
例子:-
我有 4 个以字段为名称的文档。默认运算符为 OR
“文档”:[ { “名称”:“闪电盗贼” }, { “名称”:“怪物之海” }, { “名称”:“苏菲的世界:希腊哲学家” }, { "name": "Lucene in Action, Second Edition" } ]
Query1 = name:(“怪物之海”而不是“Lucene in Action, Second Edition” AND “闪电小偷”)
Result = "name": "闪电小偷"
"parsedquery": "name:The Sea of Monsters -name:Lucene in Action, Second Edition +name:The Lightning Thief"
查询 2 = name:("The Sea of Monsters" AND "The Lightning Thief" NOT "Lucene in Action, Second Edition")
结果 = 找到 0 个文档
"parsedquery": "+name:The Sea of Monsters +name:The Lightning Thief -name:Lucene in Action, Second Edition""
请帮我理解这个逻辑。
【问题讨论】:
-
应该相同。检查两个查询中使用的术语是否完全相同。
-
是的,条款完全相同。只是顺序不同
标签: solr