TermQuery是lucene查询中最基本的一种原子查询,从它的名字Term我们可以看出,它只能针对一个字段进行查询。
下面是我测试的一个代码样例:
@Test public void testGovenQuery(){ try { String keyword="杭州"; Directory dic=new SimpleFSDirectory(new File(ILuceneManager.DEFAULT_REGION_LUCENE_INDEX_PATH)); IndexSearcher searcher=new IndexSearcher(dic); //------------TermQuery 单个关键字查询 Query query=new TermQuery(new Term("NAME",keyword)); TopDocs tops=searcher.search(query, LuceneManagerImpl.DEFAULT_QUERY_NUM); System.out.println(tops.totalHits); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } };
其中ILuceneManager.DEFAULT_REGION_LUCENE_INDEX_PATH是我预先生成好的行政区划数据表的lucene索引路径。