Подтвердить что ты не робот

Что такое сегменты в Lucene?

Что такое сегменты в Lucene?

Каковы преимущества сегментов?

4b9b3361

Ответ 1

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

Новый сегмент создается, когда новый писатель открывается и когда писатель совершает или закрывается.

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

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

Однако в какой-то момент Lucene может решить объединить некоторые сегменты. Эта операция также может быть запущена с оптимизацией.

Ответ 2

Сегмент очень просто раздел индекса. Идея состоит в том, что вы можете добавлять документы к индексу, который в настоящее время обслуживается, создавая новый сегмент с только новыми документами в нем. Таким образом, вам не нужно идти на дорогостоящие проблемы с перестройкой всего вашего индекса часто, чтобы добавить новые документы в индекс.

Ответ 3

Преимущества сегментов уже были удовлетворены другими. Я буду включать диаграмму ascii индекса Lucene.

Сегмент 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 г. - Публикация публикации