2014-01-15 125 views
0

我搞砸了语法q查询:Apach solr。查询语法解释

  1. 如果我写q=*:* - 我看到2倍的效果。

  2. 如果我跳过Q - 已看不清任何东西

  3. 如果我写q=price:* - 见2个结果

  4. 如果我写q=price - 0结果

更新

  1. q=price:0 - 1结果

你能解释这些查询之间的区别吗?

特别是我想了解这是什么意思第4个变体?

索引的文档:

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> 
    <field name="cat">XXX</field> 
</doc></add> 

<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="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> 

回答

1

如果你不给它值考虑的默认值。如您的第四个查询

q=price means it searches the default searchable field having value "price" 

这就是为什么你得到0结果,因为没有价格是0值。

+0

* q =价格:0 * - 1结果 – gstackoverflow

+0

检查您的solrconfig.xml以查找默认的可搜索字段。在该字段solr正在查询,其价值是“价格”。 – Rahul

+0

什么标签我需要搜索? – gstackoverflow