2011-01-05 55 views
0

我使用Solr的1.4和schema.xml中定義了以下字段:Solr的多刻面燒結靶場範圍

<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] 

預期爲什麼不工作的最後一個查詢的項目?我應該如何編寫最後一個查詢來僅選擇兩個定義範圍內的項目?

回答

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] 

注意,第二範圍也有場預選賽「價格:」

+0

這就是重要:需要注意的是,第二範圍也有字段限定詞「price:」 – Karussell 2011-01-06 14:36:54

+0

謝謝!這樣可行。 – thd 2011-01-06 21:23:56