存在包含可选(“应该”子句)强制和禁止标记的查询。以下两个查询返回不同的结果。但应该是一样的,不是吗?
+_query_:"{!type=**dismax** mm='2<2 3<3 5<4 7<51%' qf='normalizedField'} opt1 opt2 +mandatory -prohibited"
VS
+_query_:"{!type=**edismax** mm='2<2 3<3 5<4 7<51%' qf='normalizedField'} opt1 opt2 +mandatory -prohibited"
使用最小“应该”匹配参数:
毫米:“2<2 3<3 5<4 7<51%”
有任何想法吗?谢谢
更新 了 solr 索引中有文档:
{
...
"normalizedField":"opt1 opt3 mandatory"
...
}
使用dismax查询进行搜索:
+_query_:"{!type=dismax mm='2<2 3<3 5<4 7<51%' qf='normalizedField'} opt1 opt2 +mandatory -prohibited"
"parsedquery_toString":"+(((normalizedField:opt1) (normalizedField:opt2) +(normalizedField:mandatory) -(normalizedField:prohibited))~2) ()"
返回空结果(如预期)
但
使用edismax查询进行搜索:
+_query_:"{!type=edismax mm='2<2 3<3 5<4 7<51%' qf='normalizedField'} opt1 opt2 +mandatory -prohibited"
"parsedquery_toString": "+((normalizedField:opt1) (normalizedField:opt2) +(normalizedField:mandatory) -(normalizedField:prohibited))"
退回此文件。为什么?