Tutorial de Apache Solr: ¿Qué es Solr? Architectura e instalación

¿Qué es Apache Solr?

Apache Solr es una plataforma de servidor de búsqueda de código abierto escrita en Java Lenguaje de Apache Software Foundation. Es un motor de búsqueda altamente escalable y listo para implementarse que maneja un gran volumen de datos centrados en texto. El propósito de usar Apache Solr es indexar y buscar una gran cantidad de contenido web y brindar contenido relevante según la consulta de búsqueda.

Apache Solr es un contenedor HTTP basado en API REST que envuelve al motor de búsqueda de texto completo llamado Apache Lucene. Un índice invertido es una lista de palabras donde cada entrada de palabra se vincula a los documentos en los que está almacenada. De esa manera, se obtienen todos los documentos para la consulta de búsqueda "guru99" con una simple operación "get".

Historia de Apache Solr

  • 1999: Doug Cutting publicó Lucene
  • 2004: Solr fue desarrollado en CNET por Yonik Seeley como parte de un proyecto interno de la empresa.
  • 2006: CNET publica el código fuente donándolo al software Apache. Foundation
  • 2008: Se lanzó Solr 1.3 con capacidades de búsqueda mejoradas y mejoras de rendimiento.
  • 2010: Fusión de Lucene y Solr
  • 2012: Se lanzó la versión 4.0 de Solr, con la nueva función Solr Cloud
  • 2016: Se lanzó Solr 6.0, que ofrece soporte para la ejecución de consultas SQL paralelas.

Características de Apache Solr

Estas son las características importantes de Apache Solr:

  • Equilibrio de carga automático
  • Interfaces abiertas basadas en estándares: XML, JSON y HTTP
  • Se admiten recomendaciones y sugerencias de hechizos.
  • Soporte para autocompletado y búsqueda geoespacial
  • Seguridad incorporada para autenticación y autorización
  • Le permite realizar una búsqueda de palabras clave multilingüe
  • Predicción de autocompletar/escritura anticipada
  • Procesamiento por lotes y streaming
  • Crear modelos de aprendizaje automático es fácil
  • Especialmente optimizado para tráfico web de alto volumen
  • Interfaces de admiración HTML completas
  • Admite configuración Schema y Schemaless
  • Búsqueda y filtrado por facetas
  • Configuración central para todo Cluster

Términos clave utilizados en Apache Solr

Ahora, en este tutorial del motor de búsqueda Solr, aprenderemos sobre los términos clave utilizados en Apache Solr:

Término clave Descripción
Núcleo Solr Solr Core se puede definir como un índice de textos y campos derivados de todos los documentos. Una instancia de Solr puede tener uno o varios núcleos de Solr.

Core = una instancia de Lucene Index + configuración Solr

Instancia solar Instancia Solr es una instancia de Solr que se ejecuta en el Java Máquina virtual (JVM). En modo independiente, solo ofrece una instancia, mientras que en modo nube puedes tener una o más instancias.
Indexación La indexación es un método para agregar el contenido de un documento a Solr Index. Apache Solr utiliza la técnica de índice invertido de Apache Lucene.
Comparación de Es un grupo de campos y sus valores. Un documento es una unidad básica de datos almacenada en Apache Core. Un núcleo de Apache puede contener uno o más documentos.
Campo El campo es un par clave-valor que almacena los datos reales en un documento. La clave especifica el nombre del campo y el valor contiene los datos del campo. Un documento puede tener uno o varios campos. Apache Solr lo utiliza para indexar el contenido del documento.
API tranquilas Para comunicarse con Solr no es necesario haber utilizado Java programación. En cambio, Apache Solr proporciona servicios de descanso para comunicarse con él. Puede enviar documentos y recibir resultados en varios formatos de archivo como JSON, XML y CSV.
Búsqueda de texto completo Solr ofrece funciones para búsqueda de texto completo, como tokens, frases, revisión ortográfica, autocompletar, comodines, etc.
Interfaz de administrador Solr ofrece una interfaz de usuario fácil de usar y con funciones avanzadas. Usando la interfaz puede realizar tareas como administrar registros, agregar, eliminar, actualizar y buscar documentos.
Centrado en texto y ordenado por relevancia Apache Solr se utiliza para buscar documentos de texto y los resultados se entregan de acuerdo con la consulta del usuario.
Nodo En la nube de Solr, cada instancia se conoce como nodo.
Cluster Un clúster es una colección de nodos.
Colecciones Un clúster tiene un índice lógico que también se denomina colección.
Casco Se trata de una pequeña zona de la colección que ofrece réplicas únicas o múltiples del índice.
Réplica Una réplica es una copia de un fragmento que se ejecuta en un nodo.
Líder Es una réplica del shard, que envía las solicitudes de Solr Cloud para el resto de réplicas.

Apache Solr Architectura

Ahora, en este tutorial de búsqueda de Solr, aprendamos sobre Apache Solr. Architectura:

Apache Solr Architectura
Apache Solr Architectura

Apache Solr compromete los siguientes componentes

Consulta

El analizador de consultas analiza las consultas que necesita pasar a Solr. Verifica su consulta para comprobar errores sintácticos. Después de analizar las consultas, se traduce a un formato conocido por Lucene.

Controlador de solicitudes

La solicitud enviada a Apache Solr es procesada por el controlador de solicitudes. La solicitud puede ser una solicitud de consulta o solicitudes de actualización de índice. Debe seleccionar el controlador de solicitudes de acuerdo con sus requisitos. Para pasar una solicitud a Solr, debe asignar el controlador a un punto final de URL específico.

Escritor de respuesta

Un redactor de respuestas generará resultados formateados para consultas de entrada. Admite varios formatos como XML, JSON, CSV, etc. Es posible que tenga diferentes redactores de respuestas para diferentes tipos de solicitudes.

Controlador de actualización

Cuando envía una solicitud de actualización a Apache Solr, se ejecuta a través de un conjunto de complementos, firma, registro e indexación. Este proceso se conoce como procesador de solicitudes de actualización. El controlador de actualizaciones también es responsable de modificaciones como agregar o quitar archivos, etc.

Aplicaciones de Apache Solr

Aplicación Uso
Portal Intranet
  • Fácil acceso a la búsqueda
  • Lanzamiento de la aplicación
  • Notificación de noticias y eventos.
  • Autenticación de inicio de sesión único
Cliente federado
  • Presentación simplificada
  • Buscar en todo el contenido
  • Sólo acceso autorizado
  • visualización de documentos
Conjuntos de datos de instrumentos
  • Optimizado para científicos
  • Menús dependientes de datos
  • Filtros de rejilla especializados
Documentos Regulatorios
  • Diseñado para investigadores
  • Acceso enriquecido a metadatos
  • Exportaciones de hojas de cálculo
  • Ver acelerador de documentos
Integrado en la aplicación PLM
  • Ofrece una mejor experiencia de búsqueda que la que podría proporcionar un RDBMS
  • Modelo de seguridad de enlace tardío
  • Acciones de documentos expuestas en la barra de herramientas.

¿Cómo instalar Apache Solr?

Paso 1) Abra el sitio web y continúe suscribiéndose
Ve a esto enlace, Haga clic en "Continuar para suscribirse".

Instalar Apache Solr

Paso 2) Haga clic en Aceptar términos
En la página siguiente, haga clic en Aceptar términos.

Instalar Apache Solr

Paso 3) Espera un tiempo
Luego, espere un tiempo y luego, la solicitud se acepta después de un tiempo.

Instalar Apache Solr

Paso 4) Continuar a Configuración
Actualice la página y haga clic en "Continuar con la configuración".

Instalar Apache Solr

Paso 5) Continuar al lanzamiento
Mantenga la configuración predeterminada y haga clic en "Continuar para iniciar".

Instalar Apache Solr

Paso 6) Mantenga la configuración predeterminada
En la página siguiente, mantenga la configuración predeterminada

  • Asegúrese de tener el archivo pem de la clave
  • Haga clic en "Iniciar"

Instalar Apache Solr

Verás este mensaje de éxito.

Instalar Apache Solr

Paso 7) Tenga en cuenta el DNS público
En la consola EC2, tenga en cuenta el DNS público de su instancia

Instalar Apache Solr

Paso 8) Abrir debajo de la URL
Para acceder a Solr, simplemente use la URL

http://publicdns:8983

en nuestro caso se convierte

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

Instalar Apache Solr

Nota: Si tiene problemas para acceder a la instancia, cambie las reglas de entrada y salida en su instancia para permitir todo el tráfico como se muestra en el siguiente ejemplo de consulta de Solr:

Instalar Apache Solr

Búsqueda elástica vs. apache solr

parámetros Apache Solr Búsqueda elástica
Naturaleza Es un proyecto de código abierto. No es un proyecto de código abierto.
Estado estático Estático en shema.xml Estático en elasticsearch.yml
Formato XML, CSV, JSON Sólo JSON
Home Se puede recargar durante el tiempo de ejecución con recarga de colección/núcleo Definido durante la creación de índice/tipo con una llamada REST
Documentación Está bien documentado. Está mal documentado.
Dividir fragmentos Posibles Imposible

Ventajas de Apache Solr

  • Le ayuda a reducir la cantidad de tiempo necesario para localizar información
  • Es un motor de búsqueda rápido, sencillo, potente y flexible.
  • Le ayuda a hacer sus productos y servicios más accesibles
  • Aumentar el gasto del cliente en una aplicación web
  • Le ayuda a mejorar la experiencia del usuario en la aplicación web para aumentar los ingresos y las ganancias.
  • Interfaz de administración integral basada en HTML
  • Flexible y adaptable con configuración XML
  • Complemento extensible Architectura
  • Motor de búsqueda altamente escalable, robusto y tolerante a fallos
  • Admite distribución, sombreado, replicación, Clustering y multinodo Architectura

Desventajas de Apache Solr

  • No es un almacén de datos compatible con ACID
  • No es útil como almacén de datos primario. Sólo útil como almacén de datos secundario
  • No ofrece soporte para transacciones y transacciones distribuidas.
  • No admite uniones ni consultas complejas
  • No es óptimo para datos normalizados

Resum

  • Apache Solr es de código abierto API REST servidor de búsqueda basado
  • Apache Solr fue desarrollado en CNET por Yonik Seeley como un proyecto interno de la empresa.
  • Apache Solr ofrece funciones como autocompletado y búsqueda geoespacial
  • Solr Core, instancia de Solr, indexación, documento, API Restful, búsqueda de texto completo, interfaz de administración, etc. son algunos de los términos clave utilizados en Apache Solr.
  • La consulta, el controlador de solicitudes, el escritor de solicitudes y los controladores de actualizaciones son algunos de los componentes importantes de Apache Solr.
  • El portal de intranet, el cliente federado, los conjuntos de datos de instrumentos, los documentos reglamentarios y la aplicación PLM integrada son aplicaciones útiles de Apache Solr.
  • Apache Solr está bien documentado en comparación con Elastic Search, que está mal documentado.
  • La mayor ventaja de Apache Solr es que le ayuda a reducir la cantidad de tiempo necesario para localizar información.
  • El principal inconveniente de esta aplicación es que no es un almacén de datos compatible con ACID.