2010-03-28 7 views
5

Ho un ID specifico come 1,2,5,11,64589 in solr (int tipo)Query intervallo Solr per ID specific come/solr/select? Q = x: [1,2,5,11,64589]

Voglio interrogare qet come ttp: // localhost: 8983/solr/select? Q = x: [1,2,5,11,64589] ma non funziona (ottieni errore). come può farlo ???

Nota: posso mettere in atto con "OR" Ma io voglio modo semplice (e altro limite problema in massima url lunghezza char)

+0

sembra esserci alcuna altro modo. cosa vuoi raggiungere? – Karussell

risposta

18

Queste sono le opzioni:

  • ?q=x:(1 OR 2 OR 5 OR ...)
  • ?q=x:1 OR x:2 OR x:5 OR ...
  • ?q=x:(1 2 5 ...) con defaultOperator = "O" (non ho provato questo ma dovrebbe funzionare)
  • Scrivi la tua RequestHandler
  • Scrivi la tua QueryParser
+0

grazie mille per la risposta rapida – Hamid

+0

@Hamid: Si prega di inserire ciò che è stato utilizzato dai modelli di query suggeriti da Mauricio. –

3

In Solr 4.10 e Heliosearch 0.07, è possibile utilizzare il più efficiente di query termini:

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

fornito url non funziona –

+0

Sembra che Heliosearch sia stato tramortito. Il loro GitHub dice che la maggior parte delle loro modifiche è stata reintegrata nel core di Solr. Questa sintassi "termini query" deve essere stata parte di tale operazione di unione. Posso confermare che funziona alla grande in Solr 5.5.2. –