lucene组成: 索引组件+搜索组件
索引组件:获取内容(solr,nutch,grub,heritrix,drods,aperture,谷歌企业连接管理器)->建立文档(构建文档和域,文档过滤Tika) --->文档分析(内置分析器)--->文档索引
搜索组件(查全率+查准率): 用户搜索界面 ---->建立查询(QueryParser 查询解析器) ---> 搜索查询(纯布尔模型,向量空间模型,概率模型)-->展现结果
索引过程的核心类:
IndexWriter:负责创建新索引或者打开已有索引,以及向索引中添加,删除,或者更新被索引文档的信息
Directory: 描述了lucene 索引的存储位置。是一个抽象类
Analyzer:分析器,提取词汇单元
Document:代表一些域(Field)的集合
Field: 域
搜索过程的核心类
IndexSearcher:搜索索引,典型应用
Directory dir = FSDirectory.open(new File());
IndexSearcher search = new IndexSearcher(dir);
Query query = new TermQuery(new Term("contents","lucene"));
TopDocs hits = searcher.search(q,10);
searcher.close();
Term:搜索功能的基本单元。域名和单词。
Query:查询子类 TermQuery,BooleanQuery,PhraseQuery,PrefixQuery,PhrasePrefixQuery
TermQuery:
TopDocs:简单的指针容器,指向搜索出来的前几个。