`
lisanping
  • 浏览: 142528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
lucene不是一个完整的全文检索应用,它是用JAVA写的全文检索的工具包。

lucene包包括:

org.apache.lucene.document

这个包提供了一些为封装要索引的文档所需要的类,比如 Document, Field。这样,每一个文档最终被封装成了一个 Document 对象。

org.apache.lucene.analysis

这个包主要功能是对文档进行分词,因为文档在建立索引之前必须要进行分词,所以这个包的作用可以看成是为建立索引做准备工作。

org.apache.lucene.index

这个包提供了一些类来协助创建索引以及对创建好的索引进行更新。这里面有两个基础的类:IndexWriter 和 IndexReader,其中 IndexWriter 是用来创建索引并添加文档到索引中的,IndexReader 是用来删除索引中的文档的。

org.apache.lucene.search

这个包提供了对在建立好的索引上进行搜索所需要的类。比如 IndexSearcher 和 Hits, IndexSearcher 定义了在指定的索引上进行搜索的方法,Hits 用来保存搜索得到的结果。

org.apache.Lucene.store

这个包提供了底层IO/存储结构 

org.apache.Lucene.util

这个包提供一些公用的数据结构

org.apache.Lucene.queryParser

这个包提供了查询的分析器 

lucene的实现机制:
引用内容 引用内容

索引数据源:doc(field1,field2...) doc(field1,field2...)......         
                                               \  indexer /               
                                            _____________             
                                            | Lucene Index  |                
                                            ---------------------                
                                               / searcher \ 
结果输出:     Hits(doc(field1,field2) doc(field1...)......)

lucene应用流程:
1。建立索引  用Document(field字段)来创建index(包括分词和持久化等等):Document, Field, IndexWriter, Analyzer, Directory
2。中文分词   analysis:自动切分和词表切分;正向切分、反向切分和双向切分
3。搜索结果   search 结果hits:IndexSearcher, Term, Query, TermQuery, Hits
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics