2010-03-28 14 views
5

Tengo un id específico como 1,2,5,11,64589 en solr (int type)Consulta de rango de Solr para id. De specefic como/solr/select? Q = x: [1,2,5,11,64589]

Quiero consultar qet como ttp: // localhost: 8983/solr/select? Q = x: [1,2,5,11,64589] pero no funciona (obtener error). ¿cómo puedo hacerlo?

Nota: puedo poner en práctica con "O" pero quiero forma sencilla (y otro límite problema en la url longitud máxima char)

+0

no parece haber ningún Otra manera. ¿Qué quieres lograr? – Karussell

Respuesta

18

Estas son las opciones:

  • ?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 = "OR" (no lo he probado pero que debería funcionar)
  • Escribe tu propia RequestHandler
  • Escriba su propia QueryParser
+0

muchas gracias por la respuesta rápida – Hamid

+0

@Hamid: Por favor, ponga lo que utilizó de los patrones de consulta sugeridos por Mauricio. –

3

En Solr 4.10 y Heliosearch 0.07, puede utilizar los términos de consulta más eficiente:

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

siempre que la URL no esté funcionando –

+0

Parece que Heliosearch se ha oscurecido. Su GitHub dice que la mayoría de sus cambios se fusionaron nuevamente en el núcleo de Solr. Esta sintaxis de "consulta de términos" debe haber sido parte de ese esfuerzo de fusión. Puedo confirmar que esto funciona muy bien en Solr 5.5.2. –

Cuestiones relacionadas