Я столкнулся с проблемой при расчете значения fieldLength в Solr 6. Я использую BM25 в качестве меры подобия. Когда я индексирую набор документов, значения fieldLength для этих документов очень ошибочны. Для поля заголовка, содержащего только 9 слов, поле fieldLength хранит значение «5,6493154E19», что совершенно неверно. Когда я повторно индексирую отдельный документ, оценка корректируется и показывает, что значение fieldLength равно «10,24». Теперь, когда я переиндексирую весь корпус, значения снова повреждены, а значение fieldLength снова равно «5,6493154E19».
Сохраненное исходное значение fieldLength:
4.641637E-19 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength)) from:
1.0 = termFreq=1.0
1.2 = parameter k1
0.75 = parameter b
10.727212 = avgFieldLength
5.6493154E19 = fieldLength
После переиндексации отдельного документа:
1.0189644 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength)) from:
1.0 = termFreq=1.0
1.2 = parameter k1
0.75 = parameter b
10.72807 = avgFieldLength
10.24 = fieldLength
После переиндексации всего корпуса:
4.641637E-19 = tfNorm, computed as (freq * (k1 + 1)) / (freq + k1 * (1 - b + b * fieldLength / avgFieldLength)) from:
1.0 = termFreq=1.0
1.2 = parameter k1
0.75 = parameter b
10.727212 = avgFieldLength
5.6493154E19 = fieldLength
Любые идеи о том, где проблема?