lucene search 搜索

搜索过程的核心类:

IndexSearcher
Term
TermQuery
QueryParser
TopDocCollector

IndexSearcher
IndexSearcher是用来在建立好的索引上进行搜索的。它只能以只读的方式打开一个索引,所以可以有多个IndexSearcher的实例在一个索引上进行操作。

Term
Term是搜索的基本单位,一个Term对象有两个String类型的域组成。
生成一个Term对象可以有如下一条语句来完成:
Term term = new Term(“要查找的域(Field)”,”要查询的关键词”);

TermQuery
TermQuery是抽象类Query的一个子类,它同时也是Lucene支持的最为基本的一个查询类。生成一个TermQuery对象由如下语句完成: TermQuery termQuery = new TermQuery(term);

QueryParser
这是一个综合类,他可以根据不同的查询字符串,将用户输入解析成不同的Query实现,比如TermQuery, BooleanQuery, PrefixQuery. 这个类的目的是把用户输入的查询字符串封装成Lucene能够识别的Query

TopDocCollector
TopDocCollector用来存储搜索结果的索引ID
使用IndexSearcher的doc(int)方法返回存储的document对象。



猜你喜欢

转载自wangmored.iteye.com/blog/1634900