2014-01-14 71 views
0

我无法理解分面搜索的结果。solr。分面搜索理解

我索引的两个文件:

1:

<add> 
<doc> 
    <field name="id">SOLR1000</field> 
    <field name="name">Solr, the Enterprise Search Server</field> 
    <field name="manu">Apache Software Foundation</field> 
    <field name="cat">software</field> 
    <field name="cat">search</field> 
    <field name="cat">XXX</field> 
    <field name="cat">XXX</field> 
    <field name="features">Advanced Full-Text Search Capabilities using Lucene</field> 
    <field name="features">Optimized for High Volume Web Traffic</field> 
    <field name="features">Standards Based Open Interfaces - XML and HTTP</field> 
    <field name="features">Comprehensive HTML Administration Interfaces</field> 
    <field name="features">Scalability - Efficient Replication to other Solr Search Servers</field> 
    <field name="features">Flexible and Adaptable with XML configuration and Schema</field> 
    <field name="features">Good unicode support: h&#xE9;llo (hello with an accent over the e)</field> 
    <field name="price">0</field> 
    <field name="popularity">10</field> 
    <field name="inStock">true</field> 
    <field name="incubationdate_dt">2006-01-17T00:00:00.000Z</field> 
</doc> 
</add> 

2:

<add><doc> 
    <field name="id">3007WFP</field> 
    <field name="name">Dell Widescreen UltraSharp 3007WFP</field> 
    <field name="manu">Dell, Inc.</field> 
    <!-- Join --> 
    <field name="manu_id_s">dell</field> 
    <field name="cat">electronics</field> 
    <field name="cat">monitor</field> 
    <field name="features">30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast</field> 
    <field name="includes">USB cable</field> 
    <field name="weight">401.6</field> 
    <field name="price">2199</field> 
    <field name="popularity">6</field> 
    <field name="inStock">true</field> 
    <!-- Buffalo store --> 
    <field name="store">43.17614,-90.57341</field> 
</doc></add> 

我简单的小要求:

http://localhost:8983/solr/collection1/select/?indent=on&q=*:*&fl=name&facet=true&facet.field=cat 

响应的有趣的部分:

<lst name="facet_counts"> 
<lst name="facet_queries"/> 
<lst name="facet_fields"> 
<lst name="cat"> 
<int name="XXX">1</int> 
<int name="electronics">1</int> 
<int name="monitor">1</int> 
<int name="search">1</int> 
<int name="software">1</int> 
</lst> 
</lst> 
<lst name="facet_dates"/> 
<lst name="facet_ranges"/> 
</lst> 
</response> 

我不明白这是什么意思。如果你可以清楚地解释它 - 我会非常有帮助。

值得注意的是目前还不清楚

<int name="XXX">1</int> 

我怎样才能改变

<int name="XXX">2</int> 

回答

2

你的索引项只有一个匹配cat=XXX。事实上,你已经在它们中的一个上添加了两次并没有什么不同。

在您对Solr的请求中,您选择了面向cat的面,因此响应将在cat字段中包含lst元素面。

该列表中的每个int元素包含有多少物品与不同类别相匹配的计数。因此,所有类别XXX,电子产品,显示器,搜索和软件均匹配一项。

例如,如果您想将第二个项目添加<field name="cat">XXX</field>,您将得到<int name="XXX">2</int>

+0

只是为了澄清,facet提供的计数是包含特定分面字段/值组合的文档数量(而不是索引中字段/值组合的发生次数)。 – jro