Оптимизированный:
- Все существующие сегменты индекса объединяются в один сегмент (1 по умолчанию но это может быть больше в соответствии с
maxSegments
). Удаленные документы удаляются во время слияния (удаленные docs = помечены как удаленные, но для них все еще требуется место до слияния). Обратите внимание, что параметр фиксации expungeDeletes="true"
также объединяет все сегменты с ожидающими удаления.
- Индекс в его текущем состоянии записывается на хранение (жесткая фиксация), он занимает меньше места, чем не оптимизированный индекс из-за объединенных сегментов и исключенных документов (например, дефрагментация жесткого диска).
Оптимизация работы очень дорого, поскольку она включает в себя чтение и переписывание всего индекса. Сегменты обычно объединяются по мере добавления документов в соответствии с политикой слияния, оптимизируя только триггеры forceMerge.
Наличие индексированного индекса не обязательно является плохим, особенно если у вас есть частые обновления индекса (см. Optimization Considerations).
Текущий:
Никаких изменений не было сделано по индексу после последней фиксации или мягкой фиксации, а это означает, что все последние операции видны (например, вы можете искать & получить последние добавленные документы) ,
Цитируется Shawn Heisey's comment на Lucene форуме, обращаясь к индексу в не тока:
В основном это означает, что Lucene обнаружил индекс состояния, в котором что-то сделал изменения в индексе, но эти изменения не видно. Чтобы сделать их видимыми и вернуть этот статус в «true», выполните фиксацию или soft commit с включенным openSearcher.
(см. DirectoryReader isCurrent).
Вы имеете в виду «✓» против «✖»? – MatsLindh