Solr多个面的sint字段范围

时间:2011-01-05 20:38:24

标签: syntax solr facet faceted-search

我正在使用Solr 1.4并在schema.xml中定义了以下字段:

<field name="SALE_PRICE" type="sint" indexed="true" stored="true" />

通过此查询,我得到了定义范围内的预期项目(25000到30000)。

http://localhost:8983/solr/select/?q=*%3A*&facet=on&facet.field={!ex=SALE_PRICE}SALE_PRICE&fq={!tag=SALE_PRICE}SALE_PRICE:[25000+TO+30000]

通过此查询,我得到了定义范围内的预期项目(85000到90000)。

http://localhost:8983/solr/select/?q=*%3A*&facet=on&facet.field={!ex=SALE_PRICE}SALE_PRICE&fq={!tag=SALE_PRICE}SALE_PRICE:[85000+TO+90000]

使用此查询我只期望两个范围内的项目,但是,我也得到不在两个范围内的项目。例如,我收到SALE_PRICE为70000的商品和SALE_PRICE为119000的商品。

http://localhost:8983/solr/select/?q=*%3A*&facet=on&facet.field={!ex=SALE_PRICE}SALE_PRICE&fq={!tag=SALE_PRICE}SALE_PRICE:[25000+TO+30000]+OR+[85000+TO+90000]

为什么最后一个查询无法正常工作?如何将最后一个查询写入仅选择两个定义范围内的项目?

1 个答案:

答案 0 :(得分:2)

我只是在默认架构上尝试了这个并且它有效:

http://localhost:8983/solr/select/?q=*%3A*&facet.field={!ex=p1}price&facet=on&fq={!tag=p1}price:[0%20TO%2010]%20OR%20price:[200%20TO%20500]

请注意,第二个范围也有字段限定符“price:”