从页面字段中获取字数统计频率

时间:2012-01-20 21:25:07

标签: solr

SOLR报告所有文件的术语出现。我无法在名为documentPageId。

的特定页面字段中创建一个返回术语出现的查询

我不知道如何发出适当的SOLR查询,该查询返回一段文本的字数,例如字段的“放大器”一词。出于某种原因,它只会返回。

我尝试过的事情只会返回一次出现该项的计数,即使我在段落中看到的术语不止一次。

我在场上尝试过分面,“内容”

http://localhost:8983/solr/select?indent=on&q= &安培;重量=标准&安培;小面= ON&安培; facet.field = documentPageId&安培; facet.query =放大器&安培; facet.sort =法&安培; facet.missing = ON&安培; facet.method =计数

<lst name="facet_counts">
<lst name="facet_queries">
<int name="amplifier">21</int>
</lst>
<lst name="facet_fields">
<lst name="documentPageId">
<int name="49667.1">1</int>
<int name="49667.10">1</int>
<int name="49667.11">1</int>
<int name="49667.12">1</int>
<int name="49667.13">1</int>
<int name="49667.14">1</int>
<int name="49667.15">1</int>
<int>0</int>
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges"/>
</lst>
</response>

在schema.xml中:    

在solrconfig.xml中:

   <str name="facet.field">filewrapper</str>
   <str name="facet.field">caseNumber</str>
   <str name="facet.field">pageNumber</str>
   <str name="facet.field">documentId</str>
   <str name="facet.field">contents</str>
   <str name="facet.query">documentId</str>
   <str name="facet.query">caseNumber</str>
   <str name="facet.query">pageNumber</str>
  <str name="facet.field">documentPageId</str>
   <str name="facet.query">contents</str>

提前致谢,

1 个答案:

答案 0 :(得分:2)

您需要使用 TermVectorsComponent 来获取给定文档的术语频率。分面不会让你到那里。

请在TermVectorCompoment阅读维基。

选项 tv.tf 将按文档返回给定字段的字词频率。确保您感兴趣的字段已启用termVectors(termVectors="true")。

<field name="pageField" type="text" indexed="true" stored="true" termVectors="true" />

注意:启用术语向量会增加索引大小&amp;索引所需的时间。所以要警惕这一点,并在之前和之前做基准测试。后。