如何使用solr facet查询在solr文本字段上获得可折叠结果?

时间:2013-06-09 07:08:05

标签: solr lucene

我正在使用构面查询从solr生成统计报告。生成异常报告时,我们使用solr中的class_name字段对异常进行分组。

schema.xml中

<field name="class_name" type="text" indexed="true" stored="false" compressed="false"/>

Solr查询

http://ultrasound.zmedia.com/solr/goo/select/?q=exception&version=2.2&start=0&rows=0&indent=on&facet=true&facet.field=class_name

Solr查询结果

    <response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">59</int>
</lst>
<result name="response" numFound="1068" start="0"/>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="class_name">
<int name="com">1068</int>
<int name="zmedia">1057</int>
<int name="pool">120</int>
<int name="processor">130</int>
<int name="server">53</int>
<int name="tldresult">43</int>
<int name="tomcat">20</int>
<int name="user">19</int>
<int name="util">19</int>
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges"/>
</lst>
</response>

预期结果

    <response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">59</int>
</lst>
<result name="response" numFound="1068" start="0"/>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="class_name">
<int name="com.zmedia.tomcat">20</int>
<int name="com.zmedia.user.util">19</int
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges"/>
</lst>
</response>

我该怎么做?我无法更改数据类型,因为它在生产设置中运行。

1 个答案:

答案 0 :(得分:1)

由于字段是文本和标记化的,因此返回的构面将是单个单词而不是完整字符串 之后没有其他选择来更改数据类型或使用字符串数据类型维护不同的字段,这需要在配置和重建索引中进行更改。