2016-12-01 3 views
1

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

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

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

tl; dr: Для индексации DOCS_ONLY в Lucene, как я могу сделать индекс как можно меньшим?

ответ

2

В общем ключевая идея уменьшить размер индекса - хранить как можно меньше, индексировать как можно меньше.

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

я видел ранее, люди уменьшить размер индекса ДО 40% -50% при использовании SimpleAnalyzer писать документы в индексе вместо использования StandardAnalyzer (которая занимает больше места для хранения в целом), но это повлияло на результаты поиска. Вы упомянули в своем посте, что готовы увеличить время поиска, но готовы ли вы жертвовать результатами поиска? Это очень важный вопрос. Не стоит прилагать усилий для уменьшения размера индекса, если вы уже достигли порога!

Есть и другие факторы, которые я видел, когда люди меняются, чтобы уменьшить размер. Например, согласно документам Index.NO_NORMS вы сохраните один байт на документ в индексе. Даже иногда люди говорят, что для сжатия числовых данных (я никогда не проверял себя), база номера может быть изменена, которая индексируется/хранится в индексе.

Кроме того, я думаю, что эти две следующие должности в SO будут вам полезны.

(1) SOLR index size reduction (2) How to reduce the size of a generated Lucene/Solr index?

Вы можете прочитать это post тоже.

+0

Точный размер трудно сказать на данный момент, но с точки зрения необработанного размера документа 100gb + не находится за пределами сферы возможностей. Обновления и удаления не будут происходить очень часто. – pg1989

Смежные вопросы