Lucene - IndexSearcher



此類作為核心元件,在搜尋過程中讀取/搜尋索引。

類宣告

以下是org.apache.lucene.search.IndexSearcher類的宣告:

public class IndexSearcher
   extends Searcher

欄位

以下是org.apache.lucene.index.IndexWriter類的欄位:

  • protected int[] docStarts
  • protected IndexReader[] subReaders
  • protected IndexSearcher[] subSearchers

類建構函式

下表顯示類建構函式列表:

序號 建構函式及描述
1

IndexSearcher(Directory path)

已棄用。請改用 IndexSearcher(IndexReader)。

2

IndexSearcher(Directory path, boolean readOnly)

已棄用。請改用 IndexSearcher(IndexReader)。

3

IndexSearcher(IndexReader r)

建立一個搜尋提供的索引的搜尋器。

4

IndexSearcher(IndexReader r, ExecutorService executor)

使用提供的 ExecutorService 為每個段分別執行搜尋。

5

IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts)

專家級:直接指定 reader、subReaders 及其 docID 起始位置。

6

IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts, ExecutorService executor)

專家級:直接指定 reader、subReaders 及其 docID 起始位置和 ExecutorService。

類方法

下表顯示不同的類方法:

序號 方法及描述
1

void close()

請注意,如果使用 IndexSearcher(IndexReader) 構造 IndexSearcher,則不會關閉底層的 IndexReader。

2

Weight createNormalizedWeight(Query query)

為頂級 Query 建立標準化權重。

3

Document doc(int docID)

返回文件 ID 的儲存欄位。

4

Document doc(int docID, FieldSelector fieldSelector)

獲取第 n 個位置的文件。

5

int docFreq(Term term)

返回此術語的總 docFreq。

6

Explanation explain(Query query, int doc)

返回一個 Explanation,描述文件如何針對查詢進行評分。

7

Explanation explain(Weight weight, int doc)

專家級:低階實現方法,返回一個 Explanation,描述文件如何針對權重進行評分。

8

protected void gatherSubReaders(List allSubReaders, IndexReader r)

9

IndexReader getIndexReader()

返回此搜尋器搜尋的 IndexReader。

10

Similarity getSimilarity()

專家級:返回此搜尋器使用的 Similarity 實現。

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 個命中結果,如果 filter 非空則應用 filter。

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)

具有任意排序且沒有 filter 的搜尋實現。

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),但在這裡您可以透過指定 fillFields 來選擇是否設定返回的 FieldDoc 例項中的欄位。

24

protected TopDocs search(Weight weight, Filter filter, ScoreDoc after, int nDocs)

專家級:低階搜尋實現。

25

TopDocs searchAfter(ScoreDoc after, Query query, Filter filter, int n)

查詢查詢的前 n 個命中結果,如果 filter 非空則應用 filter,其中所有結果都在之前的結果 (after) 之後。

26

TopDocs searchAfter(ScoreDoc after, Query query, int n)

查詢查詢的前 n 個命中結果,其中所有結果都在之前的結果 (after) 之後。

27

void setDefaultFieldSortScoring(boolean doTrackScores, boolean doMaxScore)

預設情況下,按欄位排序(使用 search(Query,Filter,int,Sort))時不會計算分數。

28

void setSimilarity(Similarity similarity)

專家級:設定此搜尋器使用的 Similarity 實現。

29

String toString()

繼承的方法

此類繼承自以下類的方法:

  • org.apache.lucene.search.Searcher
  • java.lang.Object
lucene_searching_classes.htm
廣告
© . All rights reserved.