Lucene 2.9.1全文检索学习笔记
Lucene 2.9.1 的学习笔记,蛮适合想深入了解全文检索原理的你。搭环境的时候,只要搞定lucene-core-2.9.1.jar
,其他配置基本就顺着来了。Lucene 的工作流挺清晰:一边建索引,一边查索引。像用IndexWriter
把文本搞成结构化的段,再用IndexSearcher
拉出查询结果,逻辑还挺直观的。
索引结构也是层级分明:段里有文档,文档里是域,域再分成词。听着复杂,其实就像文件夹套文件一样,清晰明了。再说模块划分,也贴心:analysis负责分词,index管读写,store决定存哪,search搞查询,基本覆盖全流程。
比较有意思的是分词器那块,StandardAnalyzer
对英文文本效果不错,要中文可以试试SmartChineseAnalyzer
。而在存储方式上,FSDirectory
和RAMDirectory
就看你是要文件还是内存了。灵活性这块,Lucene 真是挺能打。
搜索逻辑也没多难,Query
对象就像 SQL 语句,组合一下就能查复杂内容。用BooleanQuery
混合多个条件,效果比你想象中还灵活。如果你正在搞日志、站内搜索或者电商过滤这些功能,Lucene 都能派上用场。
如果你对全文检索感兴趣,或者正在啃搜索引擎的源码,这份笔记真挺值一读的。还附带了好几个实用的相关文章,比如Lucene 入门和源码示例,想拓展视野完全够用。
29.04KB
文件大小:
评论区