2010-03-28 4 views
5

Ich habe eine spezifische ID wie 1,2,5,11,64589 in solr (int Typ)Solr Bereichsabfrage für specefic id like/solr/select? Q = x: [1,2,5,11,64589]

Ich möchte Abfrage wie ttp: // localhost: 8983/solr/wählen? Q = x: [1,2,5,11,64589] aber funktioniert nicht (Fehler erhalten). wie geht das ???

Hinweis: i mit "OR" umsetzen können, aber ich will einfach Art und Weise (und andere Problem Grenze in max url char Länge)

+0

scheint es keine zu sein andere Weise. Was willst du erreichen? – Karussell

Antwort

18

Das sind Ihre Möglichkeiten:

  • ?q=x:(1 OR 2 OR 5 OR ...)
  • ?q=x:1 OR x:2 OR x:5 OR ...
  • ?q=x:(1 2 5 ...) mit = "ODER" (habe dieses nicht versucht aber es sollte funktionieren)
  • Ihr eigenes Schreiben RequestHandler
  • Schreiben Sie Ihre eigene QueryParser
+0

vielen Dank für die schnelle Antwort – Hamid

+0

@Hamid: Bitte setzen Sie, was Sie aus den Abfrage-Muster von Mauricio vorgeschlagen verwendet. –

3

In Solr 4.10 und Heliosearch 0.07, können Sie die effizientere Begriffe Abfrage verwenden:

q={!terms f=id}1,2,5,11,64589 
+1

zur Verfügung gestellt URL funktioniert nicht –

+0

Es sieht aus wie Heliosearch wurde sunsetted. Ihr GitHub sagt, dass die meisten ihrer Änderungen wieder in Solr Kern zusammengeführt wurden. Diese "Terms Query" -Syntax muss Teil dieser Zusammenführung sein. Ich kann bestätigen, dass dies in Solr 5.5.2 großartig funktioniert. –