代码之家  ›  专栏  ›  技术社区  ›  Mahdi Amrollahi

Lucene中的片段是什么?

  •  35
  • Mahdi Amrollahi  · 技术社区  · 14 年前

    Lucene有哪些细分市场 ?

    细分市场的好处是什么?

    3 回复  |  直到 7 年前
        1
  •  51
  •   approxiblue Ben Jackson    8 年前

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

    当一个新的写入程序打开,当一个写入程序提交或关闭时,将创建一个新的段。

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

    删除文档只需在文件中指明删除了某个段的哪个文档,但实际上,文档始终保留在该段中。lucene中的文档并没有真正更新。发生的情况是,文档的前一个版本在其原始段中标记为已删除,而文档的新版本则添加到当前段中。这将通过在发生更改时不断修改索引的内容来最小化损坏索引的可能性。它还允许跨不同机器轻松备份和同步索引。

    然而,在某个时候,lucene可能会决定合并一些片段。此操作也可以通过优化触发。

        2
  •  22
  •   notapatch Muhammad Ateq Ejaz    8 年前

    一个片段非常简单 a section of the index . 其思想是,您可以通过创建一个只有新文档的新段,将文档添加到当前提供服务的索引中。这样,您就不必为了向索引中添加新文档而频繁地重新构建整个索引。

        3
  •  3
  •   notapatch Muhammad Ateq Ejaz    7 年前

    其他人已经回答了细分市场的好处。我将包含一个lucene索引的ascii图。

    Lucene段

    lucene段是索引的一部分。每个段由几个索引文件组成。如果你查看这些文件中的任何一个,你会发现它包含一个或多个 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