Я запускаю запрос к ядру SOLR и ограничиваю результат с помощью фильтра , например fq: {!frange l=0.7 }query($q)
. Я знаю, что оценки SOLR не имеют абсолютное значение, но 0,7 (только пример) вычисляется на основе пользовательского ввода и некоторой эвристики, которая работает достаточно хорошо.Получение стабильных оценок SOLR
Проблема заключается в следующем: я обновляю довольно много документов в своем ядре. Обновленные поля представляют собой только поля данных метаданных, которые не связаны с поиском . Но из-за того, что обновление является внутренне удаленной + вставкой, IDF и doc counts меняются. И так же рассчитанные оценки. Неожиданно мой запрос возвращает разные результаты.
Как объяснил мне Йоник here, это поведение по дизайну. Поэтому мой вопрос: что является самым простым и минимальным способом сохранить результаты и результаты моего запроса стабильными?
Выполнение оптимизации после каждой фиксации должно решить проблему, но я не знаю, есть ли что-то более простое и дешевое.