2011-01-05 4 views
0

J'utilise Solr 1.4 et ont défini le champ suivant dans schema.xml:Solr gamme de champs multiples facettes sint

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

Avec cette requête, je reçois les éléments attendus dans la plage définie (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] 

Avec cette requête, j'obtiens les éléments attendus dans la plage définie (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] 

Avec cette requête, je pense que les éléments dans les deux gammes, cependant, je reçois également des articles qui ne sont pas dans les deux gammes. Par exemple, je reçois des articles avec un SALE_PRICE qui est 70000 et articles avec un SALE_PRICE qui est 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] 

Pourquoi la dernière requête ne fonctionne pas comme prévu? Comment dois-je écrire la dernière requête pour ne sélectionner que des éléments dans les deux plages définies?

Répondre

2

Je viens d'essayer ce sur le schéma par défaut et cela a fonctionné:

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] 

Notez que la deuxième plage a aussi le qualificatif de champ « prix: »

+0

des thats Important: Notez que la deuxième gamme a également le qualificatif de terrain "prix:" – Karussell

+0

Merci! Ça marche. – thd

Questions connexes