2016-03-10 2 views
1

При отладке баллов, полученных от Solr, используя 'debugQuery = on,' Я вижу, что значения верхнего уровня в разделе «объяснение» необязательно совпадают с оценками, которые я вижу, созданными Solr.Как и почему значения Solr 'explain' отличаются от оценки Solr?

Например, вот информация верхнего уровня отладки для двух документов:

114628: Object 
    description: "sum of:" 
    details: Array[2] 
    match: true 
    value: 20.542768 

357547: Object 
    description: "sum of:" 
    details: Array[2] 
    match: true 
    value: 26.517654 

Но у них есть баллы:

114628: 20.542767 
357547: 13.258826 

Я ожидаю, что второй документ, который будет наиболее актуальным для мой запрос и значения отладки, похоже, согласны. Однако в конечном счете я получаю, что оценка документа была скорректирована.

Почему/как значение отладки отличается от итогового показателя, который я вижу? Есть ли способ получить поведение, которое я ожидаю?

+0

Каковы две подушки в 357547? – MatsLindh

+0

@MatsLindh в каждом счете документа много стимулов и комбинаций факторов. –

ответ

0

Это похоже на решение после оптимизации ядра в моей коллекции.

Все несоответствия, по-видимому, имели свои показатели отладки точно в два раза. Я предполагаю, что это было связано с некоторой проблемой с моей коллекцией Solr Cloud, имеющей два осколка, реплицированных на двух узлах.

Возможно, что баллы, которые не были уменьшены в два раза, использовали коэффициент IDF, рассчитанный с использованием только документов в одном из узлов или осколков. Однако все еще странно, что правильные значения появились в результатах отладки, а не в конечном счете.

EDIT Это, казалось, разрешило проблему только для одного случая. Иногда я вижу ту же проблему в альтернативных запросах. Теперь все затронутые оценки составляют ровно 1/4 от их отладочной оценки.

EDIT 2 Это было идентифицировано как ошибка в Lucene. Вы можете найти здесь: https://issues.apache.org/jira/browse/LUCENE-7132

Обходной путь до тех пор, пока это не будет исправлено, заключается в использовании сходства BM25 в вашем schema.xml.

<similarity class="solr.BM25SimilarityFactory"/> 
Смежные вопросы