Apache Solr

Tutorial de Apache Solr

Tutorial de Apache Solr
En esta lección, veremos cómo podemos usar Apache Solr para almacenar datos y cómo podemos ejecutar varias consultas sobre él.

¿Qué es Apache Solr?

Apache Solr es una de las bases de datos NoSQL más populares que se puede utilizar para almacenar datos y consultarlos casi en tiempo real. Está basado en Apache Lucene y está escrito en Java. Al igual que Elasticsearch, admite consultas de bases de datos a través de API REST. Esto significa que podemos usar llamadas HTTP simples y usar métodos HTTP como GET, POST, PUT, DELETE, etc. para acceder a los datos. También proporciona una opción para obtener datos en forma de XML o JSON a través de las API REST.

Arquitectura: Apache Solr

Antes de que podamos comenzar a trabajar con Apache Solr, debemos comprender los componentes que constituyen Apache Solr. Echemos un vistazo a algunos componentes que tiene:

Arquitectura Apache Solr

Tenga en cuenta que solo los componentes principales de Solr se muestran en la figura anterior. Entendamos su funcionalidad aquí también:

Introducción a Apache Solr

Para comenzar a usar Apache Solr, debe estar instalado en la máquina. Para hacer esto, lea Instalar Apache Solr en Ubuntu.

Asegúrese de tener una instalación activa de Solr si desea probar los ejemplos que presentamos más adelante en la lección y la página de administración está disponible en localhost:

Página de inicio de Apache Solr

Insertar datos

Para empezar, consideremos una colección en Solr que llamamos como linux_hint_collection. No es necesario definir explícitamente esta colección, ya que cuando insertamos el primer objeto, la colección se realizará automáticamente. Probemos nuestra primera llamada a la API REST para insertar un nuevo objeto en la colección llamada linux_hint_collection.

Insertar datos

curl -X POST -H 'Tipo de contenido: aplicación / json'
'http: // localhost: 8983 / solr / linux_hint_collection / update / json / docs' --data-binary '

"id": "iduye",
"nombre": "Shubham"
'

Esto es lo que obtenemos con este comando:

Comando para insertar datos en Solr

Los datos también se pueden insertar usando la página de inicio de Solr que vimos anteriormente. Probemos esto aquí para que las cosas estén claras:

Insertar datos a través de la página de inicio de Solr

Como Solr tiene una excelente forma de interacción con las API RESTful de HTTP, demostraremos la interacción con la base de datos utilizando las mismas API a partir de ahora y no nos centraremos mucho en insertar datos a través de la página web de Solr.

Listar todas las colecciones

También podemos enumerar todas las colecciones en Apache Solr usando una API REST. Aquí está el comando que podemos usar:

Lista de todas las colecciones

curl http: // localhost: 8983 / solr / admin / collections?acciones = LISTA & wt = json

Veamos el resultado de este comando:

Vemos dos colecciones aquí que existen en nuestra instalación de Solr.

Obtener objeto por ID

Ahora, veamos cómo podemos OBTENER datos de la colección Solr con una ID específica. Aquí está el comando de la API REST:

Obtener objeto por ID

curl http: // localhost: 8983 / solr / linux_hint_collection / get?id = iduye

Esto es lo que obtenemos con este comando:

Obtener todos los datos

En nuestra última API REST, consultamos datos usando un ID específico. Esta vez, obtendremos todos los datos presentes en nuestra colección de Solr.

Obtener objeto por ID

curl http: // localhost: 8983 / solr / linux_hint_collection / select?q = *: *

Esto es lo que obtenemos con este comando:

Tenga en cuenta que hemos utilizado '*: *' en el parámetro de consulta. Esto especifica que Solr debe devolver todos los datos presentes en la colección. Incluso si hemos especificado que todos los datos deben devolverse, Solr entiende que la colección puede tener una gran cantidad de datos y, por lo tanto,, solo devolverá los primeros 10 documentos.

Eliminar todos los datos

Hasta ahora, todas las API que probamos usaban un formato JSON. Esta vez, intentaremos el formato de consulta XML. El uso del formato XML es extremadamente similar a JSON, ya que XML también es autodescriptivo.

Probemos un comando para eliminar todos los datos que tenemos en nuestra colección.

Eliminar todos los datos

curl "http: // localhost: 8983 / solr / linux_hint_collection / update?commit = true "-H" Tipo de contenido: texto / xml "--data-binary" *: * "

Esto es lo que obtenemos con este comando:

Eliminar todos los datos mediante una consulta XML

Ahora, si intentamos de nuevo obtener todos los datos, veremos que no hay datos disponibles ahora:

Obtener todos los datos

Recuento total de objetos

Para un comando CURL final, veamos un comando con el que podemos encontrar el número de objetos que están presentes en un índice. Aquí está el comando para lo mismo:

Recuento total de objetos

curl http: // localhost: 8983 / solr / linux_hint_collection / query?debug = query & q = *: *

Esto es lo que obtenemos con este comando:

Contar el número de objetos

Conclusión

En esta lección, analizamos cómo podemos usar Apache Solr y pasar consultas usando curl tanto en formato JSON como XML. También vimos que el panel de administración de Solr es útil de la misma manera que todos los comandos curl que estudiamos.

Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...
Los mejores juegos de línea de comandos para Linux
La línea de comandos no es solo su mayor aliado cuando usa Linux, también puede ser la fuente de entretenimiento porque puede usarla para jugar muchos...
Las mejores aplicaciones de mapeo de gamepad para Linux
Si te gusta jugar juegos en Linux con un gamepad en lugar de un sistema de entrada de teclado y mouse típico, hay algunas aplicaciones útiles para ti....