Что такое сегменты в Lucene?
Каковы преимущества сегментов?
Что такое сегменты в Lucene?
Каковы преимущества сегментов?
Индекс Lucene разбивается на более мелкие куски, называемые сегментами. Каждый сегмент является его собственным индексом. Lucene ищет их последовательно.
Новый сегмент создается, когда новый писатель открывается и когда писатель совершает или закрывается.
Преимущества использования этой системы заключаются в том, что вам никогда не придется изменять файлы сегмента после его создания. Когда вы добавляете новые документы в свой индекс, они добавляются в следующий сегмент. Предыдущие сегменты никогда не изменяются.
Удаление документа выполняется простым указанием в файле, который удаляется из документа сегмента, но физически документ всегда остается в сегменте. Документы в Lucene не обновляются. Случается, что предыдущая версия документа помечена как удаленная в исходном сегменте, и новая версия документа добавляется в текущий сегмент. Это минимизирует вероятность развращения индекса, постоянно изменяя его содержимое, когда есть изменения. Он также позволяет легко выполнять резервное копирование и синхронизацию индекса на разных компьютерах.
Однако в какой-то момент Lucene может решить объединить некоторые сегменты. Эта операция также может быть запущена с оптимизацией.
Сегмент очень просто раздел индекса. Идея состоит в том, что вы можете добавлять документы к индексу, который в настоящее время обслуживается, создавая новый сегмент с только новыми документами в нем. Таким образом, вам не нужно идти на дорогостоящие проблемы с перестройкой всего вашего индекса часто, чтобы добавить новые документы в индекс.
Преимущества сегментов уже были удовлетворены другими. Я буду включать диаграмму ascii индекса Lucene.
Сегмент Lucene является частью Индекса. Каждый сегмент содержит несколько индексных файлов. Если вы посмотрите в любой из этих файлов, вы увидите, что он содержит 1 или более документы Lucene.
+- Index 5 ------------------------------------------+
| |
| +- Segment _0 ---------------------------------+ |
| | | |
| | +- file 1 -------------------------------+ | |
| | | | | |
| | | +- L.Doc1-+ +- L.Doc2-+ +- L.Doc3-+ | | |
| | | | | | | | | | | |
| | | | field 1 | | field 1 | | field 1 | | | |
| | | | field 2 | | field 2 | | field 2 | | | |
| | | | field 3 | | field 3 | | field 3 | | | |
| | | | | | | | | | | |
| | | +---------+ +---------+ +---------+ | | |
| | | | | |
| | +----------------------------------------+ | |
| | | |
| | | |
| | +- file 2 -------------------------------+ | |
| | | | | |
| | | +- L.Doc4-+ +- L.Doc5-+ +- L.Doc6-+ | | |
| | | | | | | | | | | |
| | | | field 1 | | field 1 | | field 1 | | | |
| | | | field 2 | | field 2 | | field 2 | | | |
| | | | field 3 | | field 3 | | field 3 | | | |
| | | | | | | | | | | |
| | | +---------+ +---------+ +---------+ | | |
| | | | | |
| | +----------------------------------------+ | |
| | | |
| +----------------------------------------------+ |
| |
| +- Segment _1 (optional) ----------------------+ |
| | | |
| +----------------------------------------------+ |
+----------------------------------------------------+
Lucene in Action Second Edition - июль 2010 г. - Публикация публикации