lucene使用:Lucene基本使用介绍
疯狂代码 http://CrazyCoder.cn/ ĵ:http:/CrazyCoder.cn/DeveloperUtil/Article54082.html
. 概述
随着系统信息越来越多如何样从这些信息海洋中捞起自己想要那根针就变得非常重要了全文检索是通常用
于解决此类问题方案而Lucene则为实现全文检索工具任何应用都可通过嵌入它来实现全文检索
2. 环境搭建
从lucene.apache.org上下载最新版本lucene.jar将此jar作为项目build path那么在项目中就可以直接使用
lucene了
3. 使用介绍说明
3.1. 基本概念
这里介绍主要为在使用中经常碰到些概念以大家都比较熟悉数据库来进行类比讲解使用Lucene进行全文检
索过程有点类似数据库这个过程table---à查询相应字段或查询条件----à返回相应记录首先是IndexWriter通过
它建立相应索引表相当于数据库中table在构建此索引表时需指定为该索引表采用何种方式进行构建也就是说对
于其中记录字段以什么方式来进行格式划分这个在Lucene中称为AnalyzerLucene提供了几种环境下使用
Analyzer:SimpleAnalyzer、StandardAnalyzer、GermanAnalyzer等其中StandardAnalyzer是经常使用它提
供了对于中文支持在表建好后我们就需要往里面插入用于索引记录在Lucene中这个称为Document有点类似数
据库中table行记录记录中字段添加思路方法在Lucene中称为Field这个和数据库中基本样对于Field Lucene分
为可被索引可切分不可被切分不可被索引几种组合类型通过这几个元素基本上就可以建立起索引了
在查询时经常碰到为另外几个概念首先是QueryLucene提供了几种经常可以用到Query:TermQuery、
MultiTermQuery、BooleanQuery、WildcardQuery、PhraseQuery、PrefixQuery、PhrasePrefixQuery、
FuzzyQuery、RangeQuery、SpanQueryQuery其实也就是指对于需要查询字段采用什么样方式进行查询如模
糊查询、语义查询、短语查询、范围查询、组合查询等还有就是QueryParserQueryParser可用于创建区别
Query还有个MultiFieldQueryParser支持对于多个字段进行同关键字查询IndexSearcher概念指为需要对何目
录下索引文件进行何种方式分析查询有点象对数据库哪种索引表进行查询并按定方式进行记录中字段分解查询
概念通过IndexSearcher以及Query即可查询出需要结果Lucene返回为Hits.通过遍历Hits可获取返回结果
Document通过Document则可获取Field中相关信息了
通过对于上面在建立索引和全文检索基本概念介绍希望能让你对Lucene建立定了解
3.2. 全文检索需求实现索引建立部分代码: