位置:首頁 > Java技術 > Lucene教學 > Lucene IndexSearcher類

Lucene IndexSearcher類

此類充當讀取/在搜索過程中搜索索引的一個核心組成部分。

Class 聲明

以下是org.apache.lucene.search.IndexSearcher類的聲明:

public class IndexSearcher
   extends Searcher

字段

以下是org.apache.lucene.index.IndexWriter類的字段:

  • protected int[] docStarts

  • protected IndexReader[] subReaders

  • protected IndexSearcher[] subSearchers

類的構造函數

S.N. 構造函數和說明
1 IndexSearcher(Directory path)
不推薦使用。使用IndexSearcher(IndexReader) 代替
2 IndexSearcher(Directory path, boolean readOnly)
不推薦使用。使用IndexSearcher(IndexReader) 代替
3 IndexSearcher(IndexReader r)
創建一個搜索searching提供索引
4 IndexSearcher(IndexReader r, ExecutorService executor)
運行搜索單獨各段,使用提供的ExecutorService
5 IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts)
直接指定讀取器,subReaders 和 docID 啟動
6 IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts, ExecutorService executor)
直接指定讀取器,subReaders和 docID 開始,和一個ExecutorService

類方法

S.N. 方法及說明
1 void close()
需要注意的是底層IndexReader冇有關閉,如果是IndexSearcher用IndexSearcher(IndexReader r)構造
2 Weight createNormalizedWeight(Query query)
創建了一個規範化的重量為頂層查詢
3 Document doc(int docID)
返回文檔存儲 i 字段
4 Document doc(int docID, FieldSelector fieldSelector)
獲取文檔在第n個位置
5 int docFreq(Term term)
返回這兩個字 docFreq 的總數
6 Explanation explain(Query query, int doc)
返回描述如何打進DOC對查詢的說明
7 Explanation explain(Weight weight, int doc)
低層次的實現方法返回描述如何打進DOC對重量的解釋
8 protected void gatherSubReaders(List allSubReaders, IndexReader r) 
9 IndexReader getIndexReader()
返回搜索IndexReader
10 Similarity getSimilarity()
返回使用該搜索器的相似執行
11 IndexReader[] getSubReaders()
返回此搜索原子subReaders
12 int maxDoc()
返回比最大可能的文檔數目多一個
13 Query rewrite(Query original)
所謂的重新編寫查詢到原始查詢
14 void search(Query query, Collector results)
低級彆的搜索API
15 void search(Query query, Filter filter, Collector results)
低級彆的搜索API
16 TopDocs search(Query query, Filter filter, int n)
找到前n點擊查詢,應用過濾器,如果非空(no null)
17 TopFieldDocs search(Query query, Filter filter, int n, Sort sort)
搜索執行任意排序
18 TopDocs search(Query query, int n)
找到前n點擊查詢
19 TopFieldDocs search(Query query, int n, Sort sort)
搜索執行任意排序並且不用過濾
20 void search(Weight weight, Filter filter, Collector collector)
低級彆的搜索API
21 TopDocs search(Weight weight, Filter filter, int nDocs)
低層次的搜索實現
22 TopFieldDocs search(Weight weight, Filter filter, int nDocs, Sort sort)
低層次的搜索實現任意排序
23 protected TopFieldDocs search(Weight weight, Filter filter, int nDocs, Sort sort, boolean fillFields)
就像search(Weight, Filter, int, Sort),選擇是否在返回 FieldDoc 實例字段應該通過指定fillFields進行設置
24 protected TopDocs search(Weight weight, Filter filter, ScoreDoc after, int nDocs)
低層次的搜索實現
25 TopDocs searchAfter(ScoreDoc after, Query query, Filter filter, int n)
找到前n點擊查詢,應用過濾器,如果非空,所有的結果都是一個結果(後)。
26 TopDocs searchAfter(ScoreDoc after, Query query, int n)
找到前n點擊查詢,所有結果都是一個結果(後)
27 void setDefaultFieldSortScoring(boolean doTrackScores, boolean doMaxScore)
缺省情況下,分數是由字段(using search(Query,Filter,int,Sort)) 排序計算
28 void setSimilarity(Similarity similarity)
設置使用搜索器的相似執行。
29 String toString() 

繼承的方法

這個類繼承了以下類方法:

  • org.apache.lucene.search.Searcher

  • java.lang.Object