- Lucene 教程
- Lucene - 首页
- Lucene - 概述
- Lucene - 环境搭建
- Lucene - 第一个应用程序
- Lucene - 索引类
- Lucene - 搜索类
- Lucene - 索引过程
- Lucene - 索引操作
- Lucene - 搜索操作
- Lucene - 查询编程
- Lucene - 分析
- Lucene - 排序
- Lucene 有用资源
- Lucene - 快速指南
- Lucene - 有用资源
- Lucene - 讨论
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