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索引路徑。