发布于 2015-07-25 11:25:44 | 134 次阅读 | 评论: 0 | 来源: 网络整理
此类充当读取/在搜索过程中搜索索引的一个核心组成部分。
以下是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