加载中...

Apache Lucene 是用 Java 编写的高性能全文检索库,由 Doug Cutting 于 1999 年创建,2001 年捐给 Apache 软件基金会。它是一个库而非开箱即用的服务,提供索引构建与查询的完整能力。
Lucene 的核心是倒排索引:文本经分词器(Analyzer)处理为词项,词典用 FST(有限状态转换器)压缩存储,倒排表记录文档、词频与位置。索引由多个不可变的段(segment)组成,新文档写入新段,删除仅做标记,后台按策略合并段——这一"不可变段 + 合并"的设计与 LSM 思想同源。相关性排序默认采用 BM25 模型。
Elasticsearch、Apache Solr、OpenSearch 都以 Lucene 为内核;Doug Cutting 后来基于抓取项目 Nutch 的需求创造了 Hadoop。
Lucene 定义了开源全文检索的工程范式,段式索引、FST 词典、列式 DocValues 等设计被广泛借鉴。

登录 后参与讨论
暂无讨论,来发表第一条评论吧