如何将Lucene搜索结果限制为至少包含n个单词的文档?

时间:2018-09-06 15:07:26

标签: java search lucene

我想将搜索结果限制为包含至少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;
    }
}

0 个答案:

没有答案