Apache Solr - Architecture
Dans ce chapitre, nous aborderons l'architecture d'Apache Solr. L'illustration suivante montre un schéma de principe de l'architecture d'Apache Solr.
Architecture Solr ─ Blocs de construction
Voici les principaux blocs de construction (composants) d'Apache Solr -
Request Handler- Les requêtes que nous envoyons à Apache Solr sont traitées par ces gestionnaires de requêtes. Les demandes peuvent être des demandes de requête ou des demandes de mise à jour d'index. En fonction de nos besoins, nous devons sélectionner le gestionnaire de requêtes. Pour transmettre une requête à Solr, nous mapperons généralement le gestionnaire à un certain point de terminaison d'URI et la requête spécifiée sera servie par lui.
Search Component- Un composant de recherche est un type (fonctionnalité) de recherche fourni dans Apache Solr. Il peut s'agir de vérification orthographique, de requête, de facettage, de mise en évidence des résultats, etc. Ces composants de recherche sont enregistrés commesearch handlers. Plusieurs composants peuvent être enregistrés dans un gestionnaire de recherche.
Query Parser- L'analyseur de requêtes Apache Solr analyse les requêtes que nous transmettons à Solr et vérifie les requêtes pour les erreurs syntaxiques. Après avoir analysé les requêtes, il les traduit dans un format que Lucene comprend.
Response Writer- Un rédacteur de réponse dans Apache Solr est le composant qui génère la sortie formatée pour les requêtes utilisateur. Solr prend en charge les formats de réponse tels que XML, JSON, CSV, etc. Nous avons différents rédacteurs de réponses pour chaque type de réponse.
Analyzer/tokenizer- Lucene reconnaît les données sous forme de jetons. Apache Solr analyse le contenu, le divise en jetons et passe ces jetons à Lucene. Un analyseur dans Apache Solr examine le texte des champs et génère un flux de jetons. Un tokenizer divise le flux de jetons préparé par l'analyseur en jetons.
Update Request Processor - Chaque fois que nous envoyons une demande de mise à jour à Apache Solr, la demande est exécutée via un ensemble de plugins (signature, journalisation, indexation), collectivement appelés update request processor. Ce processeur est responsable des modifications telles que la suppression d'un champ, l'ajout d'un champ, etc.