获取Solr中文档子集的总字频率

时间:2013-05-14 22:21:35

标签: solr lucene faceted-search

我有兴趣使用Solr分析文档并获取符合特定条件的所有文档的字频率。

我尝试过termVectorComponent,但我只能获得单个文档的术语频率而不是文档组的总数。

例如,给出以下数据:

  {
    "id": "1",
    "category": "cat1",
    "includes": "The green car.",
  },
  {
    "id": "2",
    "category": "cat1",
    "includes": "The red car.",
  },
  {
    "id": "3",
    "category": "cat2",
    "includes": "The black car.",
  }

我希望能够获得每个类别的总学期频数。 例如

<category name="cat1">
   <lst name="the">2</lst>
   <lst name="car">2</lst>
   <lst name="green">1</lst>
   <lst name="red">1</lst>
</category>
<category name="cat2">
   <lst name="the">1</lst>
   <lst name="car">1</lst>
   <lst name="black">1</lst>
</category>

我尝试使用facet,但我无法让他们为单个文档组合字数,如上所示。我注意到termVector支持为整个索引中的术语使用提供文档频率,但这对我没用。我只需要文件子集的总频率计数。

有没有人建议如何从Solr / Lucene获取此信息?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我找到了这个链接;你必须修改TermsComponent.java link(也许是solrJ?)

我从未尝试过,但您是否也可以使用函数查询(即总和)来添加tv.df值?这是功能查询link

的完整列表