Будет ли размер ядра Solr на диске расти бесконечно?

1

Оптимизируйте де-фрагменты индекса и уменьшите размер индекса на диске. Он делает это, возвращая пространство из удаленных документов.

Но теперь это устарело, поскольку "оно ужасно неэффективно и очень редко оправдано".

Существует ли альтернативный метод извлечения пространства из удаленных документов? документация предполагает, что это автоматически достигается с использованием настроек по умолчанию (TieredMergePolicy). Но я не видел этого поведения в базовой установке (максимальное количество документов растет и не уменьшается, а numDocs сокращается), требуется ли это для настройки? или есть еще один более эффективный метод восстановления этого дискового пространства, теперь оптимизация устарела?

Изменение: использование solr 4.6.1 и solrj для управления документами. Схема такая же, как и по умолчанию, с загрузкой 4.6.1 с несколькими дополнительными базовыми строковыми полями.

  • 0
    Вы управляете своим экземпляром достаточно долго, чтобы объединить сегменты?
  • 0
    Он работает уже неделю и содержит более 4 миллионов документов. Каковы критерии для выполнения слияния?
Теги:
solr
lucene

1 ответ

2
Лучший ответ

Оптимизация звонка не обязательно очищает ваш индекс и уменьшает размер окна:

>> Почему мой индексный каталог становится меньше (сразу же) при удалении документов? заставить слияние? оптимизировать?

Из-за структуры данных "инвертированного индекса" удаление документов только аннотирует их как удаленные для целей поиска. Пространство, используемое этими документами, будет восстановлено, когда сегменты, в которых они находятся, сливаются.

Когда сегменты объединяются (из-за политики слияния при добавлении документов или явно из-за принудительной слияния или оптимизации), Solr пытается удалить старые файлы сегмента, но в некоторых файловых системах, особенно в Microsoft Windows), невозможно удалите файл, пока файл открыт для чтения (обычно это так, поскольку Solr все еще выполняет запросы против старых сегментов до тех пор, пока новый Searcher не будет готов, и он нагревает кеширование). Когда это происходит, старые файлы сегментов остаются на диске, и Solr будет повторно пытаться удалить их позже в следующий раз, когда произойдет слияние.

FAQ по solr

Поэтому под окнами я рекомендую вам внести некоторые изменения в индекс, чтобы увидеть удаление.

Так пожалуйста:

  • выполнить удаление
  • совершить
  • исполнять
  • совершить
  • см. размер вашего индекса! :)

В заключение, по мере того как я испытал, двигатели Lucene будут только исполнять удаление thoses "удаленные документы" когда ему нужно ПОПУТАТЬ/ПОЧТОВИТЬ документ!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню