Как оптимизировать большой индекс на Solr - PullRequest
1 голос
/ 04 ноября 2011

наш индекс растет относительно быстро, добавляя 2000-3000 документов в день. Мы проводим оптимизацию каждую ночь.

Дело в том, что Solr требует двойного дискового пространства при оптимизации. На самом деле индекс имеет размер 44 ГБ, который работает на разделе 100 ГБ - в течение следующих нескольких месяцев.

Дело в том, что 50% дискового пространства не используется в течение 90% дня и требуется только во время оптимизации.

Следующая вещь: мы должны добавить больше места в этом журнале раздела - что всегда является болезненным обсуждением с ребятами из отдела хранения (потому что у нас более одного индекса ...).

Таким образом, вопрос: есть ли способ оптимизировать индекс, не блокируя дополнительные 100% размера индекса на диске?

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

Спасибо!

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011

В Lucene происходит непрерывное слияние под капотом. Прочтите Коэффициент слияния , который можно установить в файле solrconfig.xml. Если вы настроите этот параметр, вам, вероятно, вообще не придется оптимизировать.

0 голосов
/ 28 ноября 2017

Вы можете попробовать частичную оптимизацию, передав параметр maxSegment. Это уменьшит индекс до указанного числа. Я советую делать это партиями (например, если есть 50 сегментов, сначала уменьшите до 30, затем до 15 и т. Д.) Вот URL:

host:port/solr/CORE_NAME/update?optimize=true&maxSegments=(Enter the number of segments you want to reduce to. Ignore the parentheses)&waitFlush=false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...