每日一博 | 深度解析 Lucene 轻量级全文索引实现原理
一、Lucene简介 1.1 Lucene是什么? Lucene是Apache基金会jakarta项目组的一个子项目; Lucene是一个开放源码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎,部分语种文本分析引擎; Lucene并不是一个完整的全文检索引擎,仅提供了全文检索引擎架构,但仍可以作为一个工具包结合各类插件为项目提供部分高性能的全文检索功能; 现在常用的ElasticSearch、Solr等全文搜索引擎均是基于Lucene实现的。 1.2 Lucene的使用场景 适用于需要数据索引量不大的场景,当索引量过大时需要使用ES、Solr等全文搜索服务器实现搜索功能。 1.3 通过本文你能了解到哪些内容? Lucene如此繁杂的索引如何生成并写入,索引中的各个文件又在起着什么样的作用? Lucene全文索引如何进行高效搜索? Lucene如何优化搜索结果,使用户根据关键词搜索到想要的内容? 本文旨在分享Lucene搜索引擎的源码阅读和功能开发中的经验,Lucene采用7.3.1版本。 二、Lucene基础工作流程 索引的生成分为两个部分: 1. 创建阶段: 添加文档阶段,通过...
