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
广告