Существует запрос, который содержит необязательные (необязательные) предложения обязательные и запрещенные токены. Следующие два запроса возвращают разные результаты. Но должен быть такой же, а не?Запрос Solr Dismax и Edismax дает различные результаты по тому же запросу
+_query_:"{!type=**dismax** mm='2<2 3<3 5<4 7<51%' qf='normalizedField'} opt1 opt2 +mandatory -prohibited"
В.С.
+_query_:"{!type=**edismax** mm='2<2 3<3 5<4 7<51%' qf='normalizedField'} opt1 opt2 +mandatory -prohibited"
с минимальным "должен" параметра Match:
мм: "2 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))"
возвращение этого документа. ЗАЧЕМ?
утилизатор работает как ожидалось, но edisamax not ( –