Lucene的细分市场是什么?

时间:2010-04-24 06:11:30

标签: lucene segment

Lucene 中的细分是什么?

细分市场有哪些好处?

3 个答案:

答案 0 :(得分:51)

Lucene索引被拆分为更小的块,称为段。每个细分都是自己的索引。 Lucene按顺序搜索所有这些。

打开新编写器以及编写器提交或关闭时,会创建一个新段。

使用此系统的优点是,一旦创建了段,您就不必修改它们的文件。在索引中添加新文档时,它们将添加到下一个段中。以前的段永远不会被修改。

通过简单地在文件中指示删除段的哪个文档来完成删除文档,但在物理上,文档始终保留在段中。 Lucene中的文档并未真正更新。发生的情况是,文档的先前版本在其原始段中被标记为已删除,并且文档的新版本被添加到当前段。这通过在有变化时不断修改其内容来最小化破坏索引的可能性。它还允许在不同的机器上轻松备份和同步索引。

然而,在某些时候,Lucene可能决定合并一些细分市场。也可以通过优化来触发此操作。

答案 1 :(得分:22)

细分非常简单a section of the index。我们的想法是,您可以通过创建一个仅包含新文档的新段,将文档添加到当前正在服务的索引中。这样,您就不必经常重建整个索引,以便将新文档添加到索引中。

答案 2 :(得分:3)

其他人已经回答了细分受益。我将包括一个Lucene索引的ascii图。

Lucene Segment

Lucene细分是指数的一部分。每个段包含多个索引文件。如果您查看这些文件中的任何一个,您会看到它包含1个或更多Lucene documents

+- 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 - July 2010 - Manning Publication