我正在使用 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]
为什么最后一个查询没有按预期工作?我应该如何编写最后一个查询以仅选择两个定义范围内的项目?