Tutorial de Apache Solr: ¿Qué es Solr? Architectura

⚡ Resumen inteligente

Apache Solr es un software de código abierto, JavaServidor de búsqueda basado en Apache Lucene. Indexa grandes volúmenes de datos centrados en texto y devuelve resultados relevantes a través de API REST, ofreciendo búsqueda de texto completo, facetas, escalabilidad y modos de implementación tanto independientes como en SolrCloud.

  • 🔍 Definición de Solr: Código abierto, Java Servidor de búsqueda basado en Apache Lucene.
  • 🗂️ Indexación: Utiliza un índice invertido para almacenar y recuperar rápidamente documentos de texto.
  • 🌐 API REST: Comunicarse a través de HTTP con JSON, XML o CSV; no Java requerida.
  • 🧩 Architectura: Analizador de consultas, gestor de solicitudes, generador de respuestas y gestor de actualizaciones.
  • 🇧🇷 Solr vs Elasticsearch: Solr admite XML/CSV/JSON y división de fragmentos; ambos utilizan Lucene.
  • ☁️ Despliegue: Modo independiente o SolrCloud con nodos, fragmentos, réplicas y clústeres.

Tutorial de Apache Solr

¿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.
  • 2017: Se lanzó Solr 7.0, que añadió un marco de autoescalado y la API JSON Facet.
  • 2019: Se lanzó Solr 8.0 con soporte para documentos anidados y expresiones de transmisión mejoradas.
  • 2021: Lucene y Solr se separaron de nuevo, y Solr se convirtió en un proyecto independiente de nivel superior de Apache.
  • 2022: Solr 9.0 se lanzó como la primera versión independiente de Lucene, añadiendo búsqueda vectorial y compatibilidad con Kubernetes.
  • 2026: Solr 10.0 fue lanzado como la última versión principal.

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 Mareas Ideales para Lecciones
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 Solr Cores. Core = una instancia de Lucene Index + configuración de 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 de un documento. La clave especifica el nombre del campo y el valor contiene los datos de dicho 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.
Colección 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 procesa las consultas que debes pasar a Solr. Verifica la consulta para detectar errores sintácticos. Tras analizar las consultas, las traduce a un formato compatible con Lucene.

Controlador de solicitudes

Las solicitudes enviadas a Apache Solr son procesadas por el manejador de solicitudes. La solicitud puede ser una consulta o una actualización de índice. Debe seleccionar el manejador de solicitudes según sus necesidades. Para enviar una solicitud a Solr, debe asignar el manejador a un manejador específico. URL punto final.

Respuesta Writer

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 se envía una solicitud de actualización a Apache Solr, esta se procesa 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 gestor de actualizaciones también es responsable de las modificaciones, como agregar o eliminar elementos.ping archivado, 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 este 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 a continuación URL
Para acceder a Solr, simplemente utilice el 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
Nature 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

Preguntas Frecuentes

Ambos están basados ​​en Apache Lucene. Solr es completamente de código abierto, admite XML, CSV y JSON, permite la división de fragmentos y cuenta con una amplia documentación. Elasticsearch solo acepta JSON, no admite la división de fragmentos y suele elegirse para análisis en tiempo real.

Un núcleo de Solr es un índice de textos y campos derivados de documentos, combinado con su configuración de Solr. Una única instancia de Solr puede alojar uno o más núcleos, cada uno de los cuales actúa como un índice Lucene independiente.

Apache Solr es un envoltorio HTTP basado en REST-API alrededor de Apache Lucene, un Java Motor de búsqueda de texto completo. Lucene proporciona el índice invertido, mientras que Solr añade escalabilidad, configuración, API REST y una interfaz de administración.

La IA puede añadir búsqueda semántica y vectorial, modelos de aprendizaje para la clasificación y comprensión de consultas a Solr. Esto permite obtener resultados más relevantes, gestionar sinónimos e intenciones, y mejorar el autocompletado y las recomendaciones.

Sí. La IA puede recomendar campos de esquema, analizadores y configuraciones de caché, detectar consultas lentas y sugerir estrategias de fragmentación y replicación, ayudar aping Los equipos optimizan Solr para lograr un mejor rendimiento y relevancia con menos pruebas y errores.

Resumir este post con: