2013-03-29 231 views
6

请问你能解释一下,什么是方面? 我理解的是,假设我有以下文件。Solr意味着什么?

State Country 
karntaka India 
Bangalore India 
Delhi  India 
Noida  India 

它将多个相同的字段值折叠为单个值并返回该值发生的次数。 现在,当我在字段'国家'搜索,那么显然我得到4倍的印度,所以我保持facet = on和facet.field =国家,动机只获得一次印度,但是当我解雇我时,而我我得到
一些怪异的结果

<lst name="responseHeader"> 
    <int name="status">0</int> 
    <int name="QTime">6</int> 
</lst> 
<result name="response" numFound="4" start="0"> 
    <doc> 
    <str name="country">India</str></doc> 
    <doc> 
    <str name="country">India</str></doc> 
    <doc> 
    <str name="country">India</str></doc> 
    <doc> 
    <str name="country">India</str></doc> 
</result> 
<lst name="facet_counts"> 
    <lst name="facet_queries"/> 
    <lst name="facet_fields"> 
    <lst name="country"> 
     <int name="a">4</int> 
     <int name="d">4</int> 
     <int name="di">4</int> 
     <int name="dia">4</int> 
     <int name="i">4</int> 
     <int name="ia">4</int> 
     <int name="in">4</int> 
     <int name="ind">4</int> 
     <int name="indi">4</int> 
     <int name="india">4</int> 
    </lst> 
    </lst> 
    <lst name="facet_dates"/> 
    <lst name="facet_ranges"/> 
</lst> 
</response> 

任何一个可以帮助我理解。 感谢

回答

3

如果你有一个Washington, USA项,小面将报告4个结果India和1 USA

使用string字段类型。例如,您似乎已经使用了低分辨率和n-gramming的(文本)字段,这可能会使印度拼写为Inde的人受益。一个字符串字段不会像这样处理,因此它最适合于一个旨在被刻面的字段。

+0

是的,谢谢,我明白了。截至目前,我正在使用分组技术 – voila