0

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

このクエリでは、2 つの範囲内のアイテムのみが期待されますが、2 つの範囲内にないアイテムも取得されます。たとえば、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 つの範囲内の項目のみを選択する最後のクエリをどのように記述すればよいですか?

4

1 に答える 1

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]

2 番目の範囲にもフィールド修飾子「price:」があることに注意してください。

于 2011-01-06T06:56:43.580 に答える