记:Lucene词项搜索
TermQuery词项搜索最简单的搜索,不用查询分词器进行语句分词分析,在Lucene中词项是最基本的搜索单位,从本质上来说,一个词项其实就是一个key/value键值对。只不过key是lucene文档结构的域,而value则是字段所包含的某个关键字。所以不用索引分析器,直接词项命中索引即可。
public static void main(String[] args) throws IOException { //索引目录路径
Directory dir = FSDirectory.open(Paths.get("indexdir"));
//读取索引
IndexReader reader = DirectoryReader.open(dir);
//索引搜索
IndexSearcher searcher = new IndexSearcher(reader);
//索引分析器
// Analyzer analyzer = new IKAnalyzer6x(true);
//建立词项查询条件
Term queryTerm = new Term("title", "北大");
Query query = new TermQuery(queryTerm);
//执行搜索前十条
TopDocs docs = searcher.search(query, 10);
for (ScoreDoc sd :
docs.scoreDocs) {
Document doc = searcher.doc(sd.doc);
System.out.println("DocID:" + sd.doc);
System.out.println("id:" + doc.get("id"));
System.out.println("title:" + doc.get("title"));
System.out.println("文档评分:" + sd.score);
}
}
以上是 记:Lucene词项搜索 的全部内容, 来源链接: utcz.com/z/515515.html