Apache Solr - Arquitectura

En este capítulo, discutiremos la arquitectura de Apache Solr. La siguiente ilustración muestra un diagrama de bloques de la arquitectura de Apache Solr.

Arquitectura Solr ─ Bloques de construcción

Los siguientes son los principales bloques de construcción (componentes) de Apache Solr:

  • Request Handler- Las solicitudes que enviamos a Apache Solr son procesadas por estos controladores de solicitudes. Las solicitudes pueden ser solicitudes de consulta o solicitudes de actualización de índice. Según nuestro requisito, debemos seleccionar el controlador de solicitudes. Para pasar una solicitud a Solr, generalmente asignaremos el controlador a un determinado punto final de URI y la solicitud especificada será atendida por él.

  • Search Component- Un componente de búsqueda es un tipo (característica) de búsqueda proporcionada en Apache Solr. Puede ser revisión ortográfica, consulta, facetado, resaltado de marcación, etc. Estos componentes de búsqueda se registran comosearch handlers. Se pueden registrar varios componentes en un controlador de búsqueda.

  • Query Parser- El analizador de consultas Apache Solr analiza las consultas que pasamos a Solr y verifica las consultas en busca de errores sintácticos. Después de analizar las consultas, las traduce a un formato que Lucene entiende.

  • Response Writer- Un escritor de respuestas en Apache Solr es el componente que genera la salida formateada para las consultas del usuario. Solr admite formatos de respuesta como XML, JSON, CSV, etc. Tenemos diferentes escritores de respuesta para cada tipo de respuesta.

  • Analyzer/tokenizer- Lucene reconoce datos en forma de tokens. Apache Solr analiza el contenido, lo divide en tokens y pasa estos tokens a Lucene. Un analizador de Apache Solr examina el texto de los campos y genera una secuencia de tokens. Un tokenizador rompe el flujo de tokens preparado por el analizador en tokens.

  • Update Request Processor - Siempre que enviamos una solicitud de actualización a Apache Solr, la solicitud se ejecuta a través de un conjunto de complementos (firma, registro, indexación), conocidos colectivamente como update request processor. Este procesador es responsable de modificaciones como eliminar un campo, agregar un campo, etc.