Apache Solr topTerms(LukeRequestHandler)未提供正确的令牌计数
我正在使用Solr4主干构建,已经有几天了 根据LukeRequestHandler的Wiki页面(第一个示例输出),我们应该获得每个或任何指定字段的令牌计数。我想用它来计算我所有文档中每个单词出现的次数。例如,如果单词“is”出现在两个MS word文档中,在第一个文档中出现两次,在第二个文档中出现三次,我将得到如下输出:Apache Solr topTerms(LukeRequestHandler)未提供正确的令牌计数,apache,solr,luke,Apache,Solr,Luke,我正在使用Solr4主干构建,已经有几天了 根据LukeRequestHandler的Wiki页面(第一个示例输出),我们应该获得每个或任何指定字段的令牌计数。我想用它来计算我所有文档中每个单词出现的次数。例如,如果单词“is”出现在两个MS word文档中,在第一个文档中出现两次,在第二个文档中出现三次,我将得到如下输出: <lst name="text"> <str name="type">text</str> <str name="sche
<lst name="text">
<str name="type">text</str>
<str name="schema">IT-M---------</str>
<str name="index">(unstored field)</str>
<int name="docs">2</int>
<int name="distinct">42</int>
<lst name="topTerms">
<int name="is">5</int>
文本
IT-M---------
(未存储字段)
2.
42
5.
这是因为“是”这个词在两个文档中总共出现了五次。然而,我实际得到的是2
。我想这是因为它(通过文档)总共发生了两次
但是,根据维基,我们应该得到一个总数,所有文档的总和,这就是我真正想要的
如何获取所有索引文档中每个单词出现的总次数?
参考资料:
返回的文档频率是与术语匹配的唯一文档数,包括已标记为删除但尚未从索引中删除的任何文档 提供有关在字段上设置termVector属性时存储的文档的信息。
TVC可以返回术语向量、术语频率、反向文档频率以及位置和偏移量信息 tv.tf-返回文档中每个术语的文档术语频率信息
MA147LL/A
1.
5.
1.
1.
...............
太好了,我终于得到了总字数,但这只是每个文档的字数。有没有办法在一个XML键下获得所有文档中所有单词的总数?否则,我当然可以通过编程将它们组合在一起,但我仍然可以想象,如果Solr可以用一个特殊形式的查询来实现这一点,它会更便宜。谢谢。我怀疑有没有直接的api。
<lst name="termVectors">
<lst name="doc-5">
<str name="uniqueKey">MA147LL/A</str>
<lst name="includes">
<lst name="cable">
<int name="tf">1</int>
</lst>
<lst name="earbud">
<int name="tf">5</int>
</lst>
<lst name="headphones">
<int name="tf">1</int>
</lst>
<lst name="usb">
<int name="tf">1</int>
</lst>
</lst>
</lst>
...............
</lst>