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)
    Expert:直接指定reader、subReaders及其docID开始。
    6
    IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts, ExecutorService executor)
    Expert:直接指定reader、subReaders和它们的docID开始,和一个ExecutorService。
  • 类方法

    下表显示了不同的类方法 -
    序号 方法和说明
    1
    void close()
    请注意,如果 IndexSearcher 是使用 IndexSearcher(IndexReader) 构造的,则底层 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)
    返回描述文档如何针对查询评分的说明。
    7
    Explanation explain(Weight weight, int doc)
    专家:低级实现方法,返回描述文档如何根据权重评分的说明。
    8
    protected void gatherSubReaders(List allSubReaders, IndexReader r)
    9
    IndexReader getIndexReader()
    返回此搜索的 IndexReader。
    10
    Similarity getSimilarity()
    专家:返回此搜索器使用的相似性实现。
    11
    IndexReader[] getSubReaders()
    返回此搜索器使用的原子子阅读器。
    12
    int maxDoc()
    专家:返回大于最大可能文档编号的 1。
    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 个命中,如果非空则应用过滤器。
    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) 类似,但在这里您可以通过指定 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)
    默认情况下,按字段排序时不计算分数(使用 search(Query,Filter,int,Sort))。
    28
    void setSimilarity(Similarity similarity)
    专家:设置此搜索器使用的相似性实现。
    29
    String toString()
  • 继承的方法

    这个类继承了以下类的方法 -
    • org.apache.lucene.search.Searcher
    • java.lang.Object