lucene查询 之 TermQuery,通过项查询,及代码示例;TermQuery不使用分析器所以建议匹配不分词的Field域查询

xiaoxiao2021-02-28  29

1.1.1. TermQuery

TermQuery,通过项查询,TermQuery不使用分析器所以建议匹配不分词的Field域查询,比如订单号、分类ID号等。

指定要查询的域和要查询的关键词。

//使用Termquery查询

@Test

public void testTermQuery()throws Exception {

IndexSearcher indexSearcher = getIndexSearcher();

//创建查询对象

Query query = new TermQuery(new Term("content","lucene"));

//执行查询

TopDocs topDocs = indexSearcher.search(query, 10);

//共查询到的document个数

System.out.println("查询结果总数量:" + topDocs.totalHits);

//遍历查询结果

for (ScoreDoc scoreDoc : topDocs.scoreDocs) {

Document document = indexSearcher.doc(scoreDoc.doc);

System.out.println(document.get("filename"));

//System.out.println(document.get("content"));

System.out.println(document.get("path"));

System.out.println(document.get("size"));

}

//关闭indexreader

indexSearcher.getIndexReader().close();

}

转载请注明原文地址: https://www.6miu.com/read-1400192.html

最新回复(0)