如何获取自定义Solr SearchComponent中给定DocSet的字段中所有术语的列表?

时间:2013-06-20 16:24:28

标签: solr lucene faceted-search solr4

我正在尝试根据SearchComponent为Solr创建自定义FacetComponent。简而言之,我只需要一个与facet中出现的相同术语的列表,但是,我不需要在给定查询中包含包含该术语的文档的计数,而是需要该计数的自定义函数和docFreq for那个词。

我一直在查看FacetComponent的代码并看到它以某种方式使用DocValuesFacets.getCount方法,但是它长达数百行,检查我可能的各种方面结果想要,我找不到确切的位置列表及其构建构面的计数。

我想做的事情的字段总是singleValued,所以我真的需要一些非常简单的东西,比如:

private NamedList<Double> myCustomFacet(DocSet docs, String fieldName) {
    NamedList<Double> results = new NamedList<Double>();
    List<Term> terms = functionThatGetTheListOfTerms(docs, fieldName); //how do I get this?
    for (term: Terms){
        Integer numDocs = searcher.numDocs(new TermQuery(term), docs);
        Integer docFreq = searcher.docFreq(luceneTerm);
        results.add(term, myCustomMetric(numDocs, docFreq);
    }
    return results;
}

所以,给定DocSet和字段名称,如何在该DocSet的该字段上检索可能的术语?

0 个答案:

没有答案
相关问题