0

我正在尝试使用 solr v2.2 创建标签云。我已经阅读了足够多的内容,但我在网上找不到任何新手示例。我想做的是;

我有一个领域;

<field name="content" stored="true" indexed="true" multiValued="true" termVectors="true"/>

我正在尝试获取单词的 tf 和 idf 值。

我到目前为止所做的是;

当我输入以下查询时

localhost/solr/tvrh/?q=queryString&version=2.2&indent=on&tv.tf_idf=true

我根据以下文件获得结果;

<lst name="doc-40797">
<str name="uniqueKey">test20508</str>
<lst name="content">
<lst name="98">
<double name="tf-idf">0.002304147465437788</double>
</lst>
<lst name="apaan">
<double name="tf-idf">0.16666666666666666</double>
</lst>
<lst name="aryadea">
<    double name="tf-idf">1.0</double>
</lst>
<lst name="chelsea">
<double name="tf-idf">0.005208333333333333</double>
</lst>
<lst name="gua">
<double name="tf-idf">0.05555555555555555</double>
</lst>
<lst name="osa">
<double name="tf-idf">0.004662004662004662</double>
</lst>
<lst name="pegangı">
<double name="tf-idf">0.5</double>
</lst>
<lst name="rt">
<double name="tf-idf">1.4009526478005044E-4</double>
</lst>
<lst name="vs">
<double name="tf-idf">0.0030581039755351682</double>
</lst>
</lst>
</lst>
<str name="uniqueKeyFieldName">id</str>
<lst name="doc-40746">
<str name="uniqueKey">test20457</str>
<lst name="content">
<lst name="075">
<double name="tf-idf">0.027777777777777776</double>
</lst>
<lst name="9">
<double name="tf-idf">9.76657876745776E-5</double>
</lst>
<lst name="atlético">
<double name="tf-idf">0.045454545454545456</double>
</lst>
<lst name="co">
<double name="tf-idf">1.1130899376669635E-4</double>
</lst>
<lst name="http">
<double name="tf-idf">1.034233116144379E-4</double>
</lst>
<lst name="jorna">
<double name="tf-idf">0.25</double>
</lst>
<lst name="lh">
<double name="tf-idf">0.07142857142857142</double>
</lst>
<lst name="ngn">
<double name="tf-idf">0.5</double>
</lst>
<lst name="osa">
<double name="tf-idf">0.004662004662004662</double>
</lst>
<lst name="puntuaciones">
<double name="tf-idf">1.0</double>
</lst>
<lst name="t">
<double name="tf-idf">7.038783698176955E-5</double>
</lst>
<lst name="vavelco">
<double name="tf-idf">0.2</double>
</lst>
<lst name="vía">
<double name="tf-idf">0.03125</double>
</lst>
</lst>
</lst>
<str name="uniqueKeyFieldName">id</str>

我怎样才能得到总的结果,而不是基于文件?或者有没有更好的方法通过 termVectorComponent 查询在 solr 中分别获取 tf 和 idf 值?

提前致谢!

4

1 回答 1

0

为了获得所有文件;

NamedList<Object> solrResponse = server.request(new QueryRequest(queryString));
NamedList<Object> namedList = (NamedList<Object>) solrResponse.get("termVectors");
for (int i = 0; i < namedList.size(); i +=2) {
                    Object val = namedList.getVal(i);
                    System.out.println(val.toString());//I chose to print them.
}
于 2012-11-05T14:19:07.700 回答