Оценка релевантности Solr отличается на реплицированных узлах - PullRequest
0 голосов
/ 04 января 2019

Версия Solr 7.4.0 zookeeper 3.4.11 Архитектура Две коробки Машина-1, Машина-2, содержащая единичные экземпляры solr

У нас есть коллекция, состоящая из одного сегмента и одной реплики, т.е. s = 1 иrf = 1

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

http://Machine -1: 8983 /solr / MyTestCollection / select? q =% 22данные% 22 + ИЛИ + (данные) & строки = 10 & fl = оценка & defType = edismax & qf = search_field + content & wt = json

"response": {"numFound": 5836,"start": 0, "maxScore": 4.418847 , "docs": [

, тогда как на другой машине (реплика)

http://Machine -2: 8983 / solr / MyTestCollection / select? Q =% 22данные% 22 + ИЛИ + (данные) & строки = 10 & fl = score & defType = edismax & qf = search_field + content & wt = json

"response": {"numFound": 5836, "начало": 0, "maxScore": 4.4952264 , "документы": [

MaxScore отличается.

Релевантность затрагивается из-за шардинга, норепликации не былоожидается, что такие же документы будут скопированы на другой узел.При объяснении баллов возникает проблема с неравномерностью docCount и docFreq.

idf, вычисляется как log (1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) из: 1.050635000 docCount: 10020.000000000 docFreq: 3504.0000000

idf, рассчитывается как log (1 + (docCount - docFreq + 0.5) / (docFreq + 0.5)) из: 1.068795100

docCount: 10291.000000000 docFreq: 3534.0000000

Обновление: Испытано одинаково для разных коллекций. Оба экземпляра дают одинаковый балл. Похоже, проблема с определенной коллекцией.

Как мы можем исправить оригинальную коллекцию.

1 Ответ

0 голосов
/ 04 января 2019

если вы делаете это во время индексации, возможно, что мастер имеет больше документов, чем реплика (реплика позади, всегда догоняет), поэтому номера документов могут незначительно отличаться.Если вы получаете это, когда индексация не выполняется и вы делаете коммит, то это должно быть ошибкой.

...