Busquedas basicas - CONABIO/dev-for-solr GitHub Wiki

Búsquedas básicas

Solr se puede consultar a través de clientes REST, curl, wget, Chrome POSTMAN, etc., así como a través de clientes nativos disponibles para muchos lenguajes de programación.

La interfaz de usuario de Solr Admin incluye una interfaz de creación de consultas a través de la pestaña Consulta para la colección de productos tecnológicos (en http://localhost:8983/solr/#/techproducts/query). Si hace clic en el botón Ejecutar consulta sin cambiar nada en el formulario, obtendrá 10 documentos en formato JSON:

La URL enviada por la interfaz de usuario de administración a Solr se muestra en gris claro cerca de la parte superior derecha de la captura de pantalla anterior. Si hace clic en él, su navegador le mostrará la respuesta sin procesar.

Para usar curl, proporcione la misma URL que se muestra en su navegador entre comillas en la línea de comando:

curl "http://localhost:8983/solr/techproducts/select?indent=on&q=*:*"

Lo que sucede aquí es que estamos usando el parámetro de consulta de Solr (q) con una sintaxis especial que solicita todos los documentos en el índice (:). Sin embargo, no se nos devuelven todos los documentos debido a que el valor predeterminado para un parámetro llamado filas, que puede ver en el formulario, es 10. Puede cambiar el parámetro en la interfaz de usuario o en los valores predeterminados si lo desea.

Solr tiene opciones de búsqueda muy poderosas, y este tutorial no podrá cubrirlas todas. Pero podemos cubrir algunos de los tipos de consultas más comunes.

Buscar por un simple término

Obtener todos los documentos con el criterio: foundation

curl "http://localhost:8983/solr/techproducts/select?q=foundation"

Restringir los campos en la respuesta, usar el parámetro fl, el cual puede tomar vaolres separados por comas de los nombres de los campos

curl "http://localhost:8983/solr/techproducts/select?q=foundation&fl=id"

o

http://localhost:8983/solr/techproducts/select?fl=cat%2C%20name%2C%20price%2C%20inStock&indent=true&q.op=OR&q=foundation

Busquedas por campos

Esta búsqueda encuentra todos los documentos que contienen el término "electronics" en cualquier parte de los campos indexados. Sin embargo, podemos ver en lo anterior que hay un campo cat (para "category"). Si limitamos nuestra búsqueda solo a documentos con la categoría "electronics", los resultados serán más precisos para nuestros usuarios.

Actualice su consulta en el campo q de la IU de administración para que sea cat:electronics. Ahora obtienes 12 resultados:

curl "http://localhost:8983/solr/techproducts/select?q=cat:electronics"

Búsqueda por frase

Para buscar una frase de varios términos, escríbala entre comillas dobles: q="términos múltiples aquí". Por ejemplo, busque "CAS latency" ingresando esa frase entre comillas en el cuadro q en la IU de administración.

Para usarlo con curl, tenga en cuenta que el espacio entre los términos debe convertirse en "+" en una URL, así:

curl "http://localhost:8983/solr/techproducts/select?q=\"CAS+latency\""

Combinar búsquedas

De manera predeterminada, cuando busca varios términos y/o frases en una sola consulta, Solr solo requerirá que uno de ellos esté presente para que un documento coincida. Los documentos que contengan más términos se ordenarán más arriba en la lista de resultados.

Puede requerir que un término o frase esté presente prefijándolo con un +; por el contrario, para no permitir la presencia de un término o frase, antepóngalo con un -.

Para buscar documentos que contengan los términos "electronics" y "music", ingrese +electronics +music en el cuadro q en la pestaña Consulta de IU de administración.

Si usa curl, debe codificar el carácter + porque tiene un propósito reservado en las URL (codificar el carácter de espacio). La codificación para + es %2B como en:


curl "http://localhost:8983/solr/techproducts/select?q=%2Belectronics%20%2Bmusic"

Solo debe obtener un único resultado.

Para buscar documentos que contengan el término "electronics" pero que no contengan el término "music", ingrese +electronics -music en el cuadro q en la IU de administración. Para curl, nuevamente, codifique la URL + como %2B como en:

curl "http://localhost:8983/solr/techproducts/select?q=%2Belectronics+-music"

Esta vez obtienes 13 resultados.

Cómo continuar

  1. Más información sobre búsquedas
  2. Conocer los conceptos de Solr como: faceting, administración de schema