2009-07-08 5 views
1

Angenommen, mein Index hat 3 Felder: Titel, x und y.Frage zu Solr und SolrJ Bereich Abfrage?

Ich kenne einen Bereich (10 < x < 100) kann wie folgt abgefragt:

http://localhost:8983/solr/select?q=x:[10 AUF 100] & fl = title

Wenn ich zwei Bereich wollen (10 < x < 100 und 20 < y < 300) Abfrage wie

SQL (Titel auszuwählen, wo x> 10 und x < 100 und y> 20 und y < 300)

mit Solr Bereich Abfrage oder SolrJ, aber ich weiß nicht, wie dies zu implementieren. Weiß jemand anderes? Dank

E-Mail: [email protected]

+0

Warum ist dieses Community-Wiki? Sieht nicht wie eine Art der Diskussion aus –

Antwort

2

Werfen Sie einen Blick auf die docs für SolrJ. Aufeinanderfolgende Aufrufe von addFilterQuery bauen Ihre Abfrage weiter auf. Alternativ können Sie zwei Dinge in einem fq haben:

http://localhost:8983/solr/select?q=&fq=x:[10+TO+100]+AND+y:[20+TO+300]&fl=title 
+0

Vielen Dank! – EthanHu

1

Es gibt eine Methode in der Klasse SolrQuery ist kann Ihr Problem lösen, setFilterQueries (String ... fq) Sie einen Blick auf diese nehmen.