我想将搜索结果限制为包含至少n
个标记/单词的文档,即结果集必须包含至少包含100
个标记的文档。我尝试编写自定义LeafCollector
,但API似乎并不直观。在深入探讨之前,我想问一下这是否有可能,也许有人可以提供简短的概念实施证明来使我前进。
到目前为止,这是我所拥有的,据我所知,逻辑应该在collect
方法中。
public class CustomCollector extends TopDocsCollector<ScoreDoc> {
protected CustomCollector(PriorityQueue<ScoreDoc> pq) {
super(pq);
}
@Override
public LeafCollector getLeafCollector(LeafReaderContext leafReaderContext) throws IOException {
return new LeafCollector() {
@Override
public void setScorer(Scorer scorer) throws IOException {
}
@Override
public void collect(int i) throws IOException {
}
};
}
@Override
public boolean needsScores() {
return true;
}
}