全文检索的神器——Lucene的笔记整理得挺清楚,挺实用的。核心概念像Document
、Field
、Term
都有详细解释。你要是之前还没搞明白什么是倒排索引,看完这份笔记会豁然开朗。而且像StringField
和StoredField
的区别也写得蛮清楚,少走弯路。
Lucene 的Field
配置也讲究,比如是否分词、是否索引、是否存储,配置得好,性能提升不是一点点。实际项目中,你经常会遇到 ID 不分词但要索引,文件内容要分词还要存储——这里都有例子,直接上手。
还有那个Luke
工具,嗯,还挺香的。调试索引结构不求人,一目了然,查问题快多了。你开发中要优化搜索响应时间或者搞自定义搜索规则,用 Lucene 就比较合适,灵活性高。
哦对了,文末还贴了几个扩展阅读链接,像倒排索引的 Java 实现、停用词表的应用啥的,顺手点进去看看也挺涨知识的。
如果你正在做站内搜索或者电商类项目,想提升like
查询的性能,不妨研究一下 Lucene 这套工具,搭配Hadoop
做大规模索引也不在话下。