1. 程式人生 > >Lucene之執行搜尋

Lucene之執行搜尋

執行搜尋篇:

     索引建好後就可以執行搜尋了,執行搜尋的過程就是:將使用者輸入的光劍子進行處理,從而得到搜尋結果。使用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);