当前位置: 首页 > 文档资料 > Lucene 中文文档 >

IndexSearcher

优质
小牛编辑
130浏览
2023-12-01

此类充当核心组件,在搜索过程中读取/搜索索引。

Class 声明 (Class Declaration)

以下是org.apache.lucene.search.IndexSearcher类的声明 -

public class IndexSearcher
   extends Searcher

字段 (Field)

以下是org.apache.lucene.index.IndexWriter类的字段 -

  • protected int [] docStarts
  • protected IndexReader [] subReaders
  • 受保护的IndexSearcher [] subSearchers

类构造函数 (Class Constructors)

下表显示了类构造函数的列表 -

S.No.构造函数和描述
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)

专家:直接指定读者,子读者及其docID的开头。

6

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

专家:直接指定读者,subReaders及其docID启动,以及ExecutorService。

Class Methods

下表显示了不同的类方法 -

S.No.方法和描述
1

void close()

请注意,如果使用IndexSearcher(IndexReader)构造IndexSearcher,则不会关闭基础IndexReader。

2

Weight createNormalizedWeight(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)

返回描述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()

返回此搜索器使用的原子子读取器。

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个匹配,如果非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)

这类似于搜索(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个匹配,如果非空则应用过滤器,其中所有结果都在前一个结果之后(之后)。

26

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

查找查询的前n个匹配,其中所有结果都在之前的结果之后(之后)。

27

void setDefaultFieldSortScoring(boolean doTrackScores, boolean doMaxScore)

默认情况下,按字段排序时不会计算分数(使用搜索(Query,Filter,int,Sort))。

28

void setSimilarity(Similarity similarity)

专家:设置此搜索器使用的相似性实现。

29

String toString()

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

  • org.apache.lucene.search.Searcher
  • java.lang.Object