此类充当读取/在搜索过程中搜索索引的一个核心组成部分。
Class 声明
以下是org.apache.lucene.search.IndexSearcher类的声明:
public class IndexSearcher
extends Searcher
字段
以下是org.apache.lucene.index.IndexWriter类的字段:
-
protected int[] docStarts
-
protected IndexReader[] subReaders
-
protected IndexSearcher[] subSearchers
类的构造函数
S.N. | 构造函数和说明 |
---|---|
1 |
IndexSearcher(Directory path) 不推荐使用。使用IndexSearcher(IndexReader) 代替 |
2 |
IndexSearcher(Directory path, boolean readOnly) 不推荐使用。使用IndexSearcher(IndexReader) 代替 |
3 |
IndexSearcher(IndexReader r) 创建一个搜索searching提供索引 |
4 |
IndexSearcher(IndexReader r, ExecutorService executor) 运行搜索单独各段,使用提供的ExecutorService |
5 |
IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts) 直接指定读取器,subReaders 和 docID 启动 |
6 |
IndexSearcher(IndexReader reader, IndexReader[] subReaders, int[] docStarts, ExecutorService executor) 直接指定读取器,subReaders和 docID 开始,和一个ExecutorService |
类方法
S.N. | 方法及说明 |
---|---|
1 |
void close() 需要注意的是底层IndexReader没有关闭,如果是IndexSearcher用IndexSearcher(IndexReader r)构造 |
2 |
Weight createNormalizedWeight(Query query) 创建了一个规范化的重量为顶层查询 |
3 |
Document doc(int docID) 返回文档存储 i 字段 |
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() 返回此搜索原子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点击查询,应用过滤器,如果非空(no 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) 就像search(Weight, Filter, int, Sort),选择是否在返回 FieldDoc 实例字段应该通过指定fillFields进行设置 |
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) 缺省情况下,分数是由字段(using search(Query,Filter,int,Sort)) 排序计算 |
28 |
void setSimilarity(Similarity similarity) 设置使用搜索器的相似执行。 |
29 | String toString() |
继承的方法
这个类继承了以下类方法:
-
org.apache.lucene.search.Searcher
-
java.lang.Object