Есть запрос, который содержит необязательные («следует») обязательные и запрещенные токены. Следующие два запроса возвращают разные результаты. Но должно быть же, не так ли?
+_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"
С параметром «Минимальное соответствие» «Должен»:
mm: "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))"
вернуть этот документ. ЗАЧЕМ?