Хочет улучшить запрос фильтра Solr для многозначного поля, который занимает более 2 секунд

#solr #lucene

#solr #lucene

Вопрос:

У меня есть строковое многозначное поле, каждый документ может содержать до 6000 значений для этого поля, значения являются просто идентификаторами, т. Е. буквенно-цифровым идентификатором из одного слова.

Во время запроса я добавляю запрос фильтра (fq) для фильтрации документов, которые имеют определенный идентификатор в многозначном поле. Я сталкиваюсь с проблемой производительности, из-за которой запрос занимает ~ 2-4 секунды, но когда я использую запрос фильтра для однозначного поля, я получаю результат в течение ~ 1 секунды. Есть ли какой-либо способ улучшить производительность запроса?

Schema.xml Записи

Я использую динамическое поле

Запрос

fq=(mvfield1_strin&_mv:aa123 Или mvfield2_strin&_mv:bb456)

Заранее спасибо

Редактировать:

Я попытался увеличить кэш запросов фильтра, коэффициент попадания равен 0,95, но это все еще занимает около 4 секунд. Кроме того, использование памяти минимально, поэтому я не вижу необходимости увеличивать выделение памяти

Комментарии:

1. Общее количество терминов обычно более релевантно, чем многозначное поле. Если фильтры часто идентичны, кэш фильтров значительно ускорит работу — в противном случае начальный запрос обычно занимает больше всего времени, а все последующие запросы ускоряются из-за кэширования диска ОС, возможно, вам также придется предоставить Solr больше памяти для работы, чтобы он мог хранить больше индекса в памяти вместо того, чтобы каждый раз обращаться к диску.

2. @MatsLindh, спасибо за ваш ответ, увеличение размера кэша фильтра не помогло, пожалуйста, найдите изображение, прикрепленное к вопросу, а также использование памяти минимально