Lucene之執行搜尋
阿新 • • 發佈:2019-01-10
執行搜尋篇:
索引建好後就可以執行搜尋了,執行搜尋的過程就是:將使用者輸入的光劍子進行處理,從而得到搜尋結果。使用Lucene執行搜尋,首先建立IndexSearcher物件,然後通過Term和Query物件來封裝使用者輸入的搜尋天阿健,最後激昂結果封裝在Hits物件中,返回給使用者。
建立搜尋器物件IndexSearcher:IndexSearchersearcher=new IndexSearcher(索引存放路徑);建立完之後就能進行搜尋,常用方法是search(),使用search方法返回一個結果集物件,如Hits,Hits h=searcher.search();
執行搜尋完畢之後,應該使用close()方法關閉IndexSearcher物件,如:searcher.close();
封裝搜尋條件:使用Term和Query物件。
建立Term物件來封裝這個搜尋條件,可用:Term t=newTerm(“欄位名稱”,”關鍵詞”);如:Term t=new Term(“title”,”中國”);
然後建立一個Query物件,從而把Term物件轉化成可執行的查詢條件,Query物件有很多種,Query q=new TermQuery(t);
至此,使用者的搜尋請求就被封裝好了,封裝在Query物件中。
執行搜尋:
使用者的搜尋請求被封裝好了之後,就該把請求床底給IndexWSearcher物件,使其執行搜尋,IndexSearcher物件呼叫Search方法,以Query物件為引數,返回搜尋結果,封裝在Hits物件中,如:Hits hs=searcher.search(q);