Lucene
Apache开源的全文搜索引擎库,采用倒排索引和不可变segment架构,是Elasticsearch、Solr等搜索系统的基础
核心事实
时间轴 (近 90 天)
BM25(Best Matching 25)是Okapi系统中提出的概率检索函数,至今仍是Lucene/Elasticsearch的默认相似度算法。
现代搜索引擎(如 Lucene)将索引切分为多个不可变的 segment,每个 segment 是一组小型倒排索引文件,查询时并行搜索各 segment 再合并结果。
FST(有限状态转换器)是Lucene等搜索引擎实现高性能Term Dictionary的核心技术,可关联输出值同时完成前缀匹配和权重检索
FST(Finite State Transducer)是Lucene搜索引擎实现高性能Term Dictionary的核心技术
Lucene的实测数据显示,FST可以比HashMap节省90%以上的内存
内存映射文件(mmap)是操作系统提供的一种将文件内容直接映射到进程地址空间的机制,Lucene、RocksDB等存储引擎都大量使用mmap
全部知识事实 (7)
BM25仍是Elasticsearch、Lucene等主流搜索引擎的默认排序算法
75%待验证BM25(Best Matching 25)是Okapi系统中提出的概率检索函数,至今仍是Lucene/Elasticsearch的默认相似度算法。
50%待验证现代搜索引擎(如 Lucene)将索引切分为多个不可变的 segment,每个 segment 是一组小型倒排索引文件,查询时并行搜索各 segment 再合并结果。
50%待验证FST(有限状态转换器)是Lucene等搜索引擎实现高性能Term Dictionary的核心技术,可关联输出值同时完成前缀匹配和权重检索
50%待验证内存映射文件(mmap)是操作系统提供的一种将文件内容直接映射到进程地址空间的机制,Lucene、RocksDB等存储引擎都大量使用mmap
50%待验证FST(Finite State Transducer)是Lucene搜索引擎实现高性能Term Dictionary的核心技术
50%待验证Lucene的实测数据显示,FST可以比HashMap节省90%以上的内存
50%