Tutoriel Apache Solr : Qu'est-ce que Solr ? Architecture

โšก Rรฉsumรฉ intelligent

Apache Solr est un logiciel libre, JavaServeur de recherche basรฉ sur Apache Lucene. Il indexe de grands volumes de donnรฉes textuelles et renvoie des rรฉsultats pertinents via des API REST, offrant la recherche plein texte, le filtrage par facettes, la scalabilitรฉ et des modes de dรฉploiement autonomes et SolrCloud.

  • ๐Ÿ” Dรฉfinition de Solr : Open source, Java Serveur de recherche basรฉ sur Apache Lucene.
  • ๐Ÿ‡ง๐Ÿ‡ท Indexage: Utilise un index inversรฉ pour stocker et rรฉcupรฉrer rapidement des documents texte.
  • ๐ŸŒ API REST : Communiquer via HTTP avec JSON, XML ou CSV ; non Java nรฉcessaire.
  • ๐Ÿงฉ Archi Analyseur de requรชtes, gestionnaire de requรชtes, gรฉnรฉrateur de rรฉponses et gestionnaire de mises ร  jour.
  • ๏ธ Solr contre Elasticsearch : Solr prend en charge XML/CSV/JSON et le fractionnement en partitions ; les deux utilisent Lucene.
  • โ˜๏ธ Dรฉploiement: Mode autonome ou SolrCloud avec nล“uds, partitions, rรฉpliques et clusters.

Tutoriel Apache Solr

Quโ€™est-ce quโ€™Apache Solr ?

Apache Solr est une plateforme de serveur de recherche open source รฉcrite en Java langage de la fondation logicielle Apache. Il s'agit d'un moteur de recherche hautement รฉvolutif et prรชt ร  รชtre dรฉployรฉ pour gรฉrer un grand volume de donnรฉes centrรฉes sur le texte. L'objectif de l'utilisation d'Apache Solr est d'indexer et de rechercher une grande quantitรฉ de contenu Web et de fournir un contenu pertinent en fonction de la requรชte de recherche.

Apache Solr est un wrapper HTTP basรฉ sur l'API REST autour du moteur de recherche en texte intรฉgral appelรฉ Apache Lucene. Un index inversรฉ est une liste de mots dans laquelle chaque entrรฉe de mot renvoie aux documents dans lesquels elle est stockรฉe. De cette faรงon, vous obtenez tous les documents pour la requรชte de recherche ยซ guru99 ยป avec une simple opรฉration ยซ obtenir ยป.

Histoire d'Apache Solr

  • 1999 : Doug Cutting publie Lucรจne
  • 2004 : Solr a รฉtรฉ dรฉveloppรฉ au CNET par Yonik Seeley dans le cadre d'un projet interne de l'entreprise.
  • 2006 : CNET publie le code source en le faisant don au logiciel Apache Foundation
  • 2008 : Solr 1.3 est publiรฉ avec des capacitรฉs de recherche amรฉliorรฉes et des performances amรฉliorรฉes.
  • 2010 : Fusion de Lucene et Solr
  • 2012 : La version 4.0 de Solr est sortie, avec la nouvelle fonctionnalitรฉ Solr Cloud
  • 2016 : sortie de Solr 6.0, qui offre la prise en charge de l'exรฉcution de requรชtes SQL parallรจles
  • 2017 : Solr 7.0 a รฉtรฉ publiรฉ, ajoutant un framework de mise ร  l'รฉchelle automatique et l'API JSON Facet.
  • 2019 : Solr 8.0 a รฉtรฉ publiรฉ avec la prise en charge des documents imbriquรฉs et des expressions de flux amรฉliorรฉes.
  • 2021 : Lucene et Solr se sont ร  nouveau sรฉparรฉs, et Solr est devenu un projet Apache indรฉpendant de haut niveau.
  • 2022 : Solr 9.0 a รฉtรฉ publiรฉ, premiรจre version indรฉpendante de Lucene, avec lโ€™ajout de la recherche vectorielle et de la prise en charge de Kubernetes.
  • 2026 : Solr 10.0 a รฉtรฉ publiรฉ en tant que derniรจre version majeure.

Caractรฉristiques d'Apache Solr

Voici les fonctionnalitรฉs importantes dโ€™Apache Solr :

  • ร‰quilibrage de charge automatique
  • Interfaces ouvertes basรฉes sur des normes โ€“ XML, JSON et HTTP
  • Les recommandations et les suggestions de sorts sont prises en charge
  • Prise en charge de la saisie semi-automatique et de la recherche gรฉospatiale
  • Sรฉcuritรฉ intรฉgrรฉe pour l'authentification et l'autorisation
  • Vous permet d'effectuer une recherche par mot-clรฉ multilingue
  • Prรฉdiction de saisie semi-automatique/de saisie anticipรฉe
  • Traitement par lots et en streaming
  • Crรฉer des modรจles dโ€™apprentissage automatique est facile
  • Spรฉcialement optimisรฉ pour le trafic Web ร  volume รฉlevรฉ
  • Interfaces d'admiration HTML complรจtes
  • Prend en charge la configuration avec schรฉma et sans schรฉma
  • Recherche et filtrage ร  facettes
  • Configuration centrale pour l'ensemble Cluster

Termes clรฉs utilisรฉs dans Apache Solr

Maintenant, dans ce didacticiel du moteur de recherche Solr, nous allons dรฉcouvrir les termes clรฉs utilisรฉs dans Apache Solr :

Terme clรฉ Description
Noyau Solr Un noyau Solr peut รชtre dรฉfini comme un index de textes et de champs extraits de tous les documents. Une instance Solr peut contenir un ou plusieurs noyaux Solr. Noyau = une instance d'index Lucene associรฉe ร  une configuration Solr
Instance Solr L'instance Solr est une instance d'un Solr exรฉcutรฉ dans le Java Machine virtuelle (JVM). En mode autonome, il ne propose qu'une seule instance alors qu'en mode cloud, vous pouvez avoir une ou plusieurs instances.
Indexage L'indexation est une mรฉthode pour ajouter le contenu d'un document ร  Solr Index. Apache Solr utilise la technique d'index inversรฉ Apache Lucene.
Documents C'est un groupe de champs et leurs valeurs. Un document est une unitรฉ de donnรฉes de base stockรฉe dans Apache Core. Un noyau Apache peut contenir un ou plusieurs documents.
Champ Le champ est une paire clรฉ-valeur qui stocke les donnรฉes d'un document. La clรฉ spรฉcifie le nom du champ et la valeur contient ses donnรฉes. Un document peut comporter un ou plusieurs champs. Apache Solr utilise ce type de champ pour indexer le contenu du document.
API reposantes Pour communiquer avec Solr, il n'est pas nรฉcessaire d'avoir utilisรฉ Java programmation. Au lieu de cela, Apache Solr fournit prestations reposantes pour communiquer avec lui. Vous pouvez envoyer des documents et recevoir des rรฉsultats dans diffรฉrents formats de fichiers tels que JSON, XML et CSV.
Recherche en texte intรฉgral Solr offre des fonctionnalitรฉs de recherche en texte intรฉgral telles que des jetons, des phrases, la vรฉrification orthographique, la saisie semi-automatique, les caractรจres gรฉnรฉriques, etc.
Interface d'administration Solr offre une interface utilisateur facile ร  utiliser, conviviale et dotรฉe de fonctionnalitรฉs. En utilisant l'interface, vous pouvez effectuer des tรขches telles que la gestion des journaux, ajouter, supprimer, mettre ร  jour et rechercher des documents.
Centrรฉ sur le texte et triรฉ par pertinence Apache Solr est utilisรฉ pour rechercher des documents texte et les rรฉsultats sont fournis en fonction de la requรชte de l'utilisateur.
Nล“ud Dans le cloud Solr, chaque instance est appelรฉe nล“ud.
Cluster Un cluster est un ensemble de nล“uds.
Collection Un cluster possรจde un index logique รฉgalement appelรฉ collection.
Tesson Il s'agit d'une petite zone de la collection qui propose des rรฉpliques simples ou multiples de l'index.
Rรฉplique Une rรฉplique est une copie d'un fragment qui s'exรฉcute dans un nล“ud.
Leader C'est une rรฉplique du fragment, qui envoie les requรชtes du Solr Cloud pour le reste des rรฉpliques.

Apache Solr Architecture

Maintenant, dans ce didacticiel de recherche Solr, dรฉcouvrons Apache Solr Archistructure :

Apache Solr Architecture
Apache Solr Architecture

Apache Solr compromet les composants suivants

Question

L'analyseur de requรชtes traite les requรชtes ร  transmettre ร  Solr. Il vรฉrifie la syntaxe de votre requรชte afin de dรฉtecter les erreurs. Aprรจs l'analyse, il convertit les requรชtes dans un format compatible avec Lucene.

Gestionnaire de requรชtes

Les requรชtes envoyรฉes ร  Apache Solr sont traitรฉes par le gestionnaire de requรชtes. Il peut s'agir d'une requรชte de recherche ou d'une requรชte de mise ร  jour d'index. Vous devez sรฉlectionner le gestionnaire de requรชtes en fonction de vos besoins. Pour transmettre une requรชte ร  Solr, vous devez associer le gestionnaire ร  un contrรดleur spรฉcifique. URL Point final.

Rรฉponse Writer

Un rรฉdacteur de rรฉponses gรฉnรฉrera des sorties formatรฉes pour les requรชtes dโ€™entrรฉe. Il prend en charge divers formats comme XML, JSON, CSV.etc. Vous pouvez avoir diffรฉrents rรฉdacteurs de rรฉponses pour diffรฉrents types de demandes.

Gestionnaire de mise ร  jour

Lorsqu'une requรชte de mise ร  jour est envoyรฉe ร  Apache Solr, elle est traitรฉe par un ensemble de plugins, incluant la signature, la journalisation et l'indexation. Ce processus est appelรฉ processeur de requรชtes de mise ร  jour. Le gestionnaire de mises ร  jour est รฉgalement responsable des modifications telles que l'ajout ou la suppression d'รฉlรฉments.ping dรฉposรฉ, etc.

Applications Apache Solr

Application Utilisation
Portail Intranet
  • Accรจs facile ร  la recherche
  • Lancement d'applications
  • Notification d'actualitรฉs et d'รฉvรฉnements
  • Authentification par connexion unique
Client fรฉdรฉrรฉ
  • Prรฉsentation simplifiรฉe
  • Rechercher dans tout le contenu
  • Accรจs autorisรฉ uniquement
  • Visualisation de documents
Ensembles de donnรฉes d'instruments
  • Optimisรฉ pour les scientifiques
  • Menus dรฉpendants des donnรฉes
  • Filtres ร  grille spรฉcialisรฉs
Documents rรฉglementaires
  • Conรงu pour les chercheurs
  • Accรจs riche aux mรฉtadonnรฉes
  • Exportations de feuilles de calcul
  • Afficher l'accรฉlรฉrateur de documents
Intรฉgrรฉ ร  l'application PLM
  • Offre une meilleure expรฉrience de recherche quโ€™un SGBDR pourrait offrir
  • Modรจle de sรฉcuritรฉ ร  liaison tardive
  • Actions de document exposรฉes dans la barre d'outils

Comment installer Apache Solr ?

ร‰tape 1) Ouvrez le site Web et continuez ร  vous abonner
Aller ร  cette lien, Cliquez sur ยซ Continuer ร  vous abonner ยป.

Installer Apache Solr

ร‰tape 2) Cliquez sur Accepter les conditions
Sur la page suivante, cliquez sur Accepter les conditions.

Installer Apache Solr

ร‰tape 3) Attendez un peu de temps
Ensuite, attendez un certain temps, puis la demande est acceptรฉe aprรจs un certain temps.

Installer Apache Solr

ร‰tape 4) Continuer vers Configuration
Actualisez la page et cliquez sur ยซ Continuer vers la configuration ยป

Installer Apache Solr

ร‰tape 5) Continuer ร  lancer
Conservez les paramรจtres par dรฉfaut et cliquez sur ยซ Continuer ร  lancer ยป.

Installer Apache Solr

ร‰tape 6) Conserver les paramรจtres par dรฉfaut
Sur la page suivante, conserver les paramรจtres par dรฉfaut

  • Assurez-vous d'avoir le fichier pem de la clรฉ
  • Cliquez sur ยซ Lancer ยป

Installer Apache Solr

Vous verrez ce message de rรฉussite

Installer Apache Solr

ร‰tape 7) Notez le DNS public
Dans la console EC2, notez le DNS public de votre instance

Installer Apache Solr

ร‰tape 8) Ouvrir ci-dessous URL
Pour accรฉder ร  Solr, il suffit d'utiliser le URL

http://publicdns:8983

dans notre cas, cela devient

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

Installer Apache Solr

Remarque : Si vous rencontrez des difficultรฉs pour accรฉder ร  l'instance, modifiez les rรจgles entrantes et sortantes de votre instance pour autoriser tout le trafic, comme indiquรฉ dans l'exemple de requรชte Solr ci-dessous :

Installer Apache Solr

Elasticsearch contre. Apache Solr

Paramรจtres Apache Solr Recherche รฉlastique
Nature C'est un projet open source. Ce n'est pas un projet open source.
Statut statique Statique dans shema.xml Statique dans elasticsearch.yml
Format XML, CSV, JSON Uniquement JSON
Sommaire Peut รชtre rechargรฉ pendant l'exรฉcution avec le rechargement de la collection/du noyau Dรฉfini lors de la crรฉation d'un index/type avec un appel REST
Documentation C'est bien documentรฉ. Cโ€™est mal documentรฉ.
Diviser les fragments Possible Pas possible

Avantages d'Apache Solr

  • Vous aide ร  rรฉduire le temps nรฉcessaire pour localiser les informations
  • C'est un moteur de recherche rapide, simple, puissant et flexible.
  • Vous aide ร  rendre vos produits et services plus accessibles
  • Augmenter les dรฉpenses des clients sur une application Web
  • Vous aide ร  amรฉliorer l'expรฉrience utilisateur sur l'application Web pour augmenter les revenus et les bรฉnรฉfices
  • Interface d'administration complรจte basรฉe sur HTML
  • Flexible et adaptable avec la configuration XML
  • Plugin extensible Architecture
  • Moteur de recherche hautement รฉvolutif, robuste et tolรฉrant aux pannes
  • Prend en charge la distribution, l'ombrage, la rรฉplication, Clustering et multi-nล“uds Architecture

Inconvรฉnients d'Apache Solr

  • Ce n'est pas un magasin de donnรฉes conforme ร  l'ACID
  • Il n'est pas utile en tant que magasin de donnรฉes principal. Uniquement utile en tant que magasin de donnรฉes secondaire
  • N'offre pas de prise en charge des transactions et des transactions distribuรฉes
  • Ne prend pas en charge les jointures et les requรชtes complexes
  • Pas optimal pour les donnรฉes normalisรฉes

FAQ

Les deux systรจmes sont basรฉs sur Apache Lucene. Solr est entiรจrement open source, prend en charge les formats XML, CSV et JSON, permet le partitionnement des donnรฉes et est bien documentรฉ. Elasticsearch n'accepte que le format JSON, ne prend pas en charge le partitionnement des donnรฉes et est souvent choisi pour l'analyse en temps rรฉel.

Un noyau Solr est un index de textes et de champs extraits de documents, associรฉ ร  sa configuration Solr. Une instance Solr unique peut hรฉberger un ou plusieurs noyaux, chacun fonctionnant comme un index Lucene indรฉpendant.

Apache Solr est un wrapper HTTP basรฉ sur une API REST autour d'Apache Lucene, un Java Moteur de recherche plein texte. Lucene fournit l'index inversรฉ, tandis que Solr ajoute la scalabilitรฉ, la configuration, les API REST et une interface d'administration.

L'IA peut enrichir Solr avec la recherche sรฉmantique et vectorielle, les modรจles d'apprentissage du classement et la comprรฉhension des requรชtes. Il en rรฉsulte des rรฉsultats plus pertinents, la gestion des synonymes et de l'intention, ainsi que des amรฉliorations de la saisie semi-automatique et des recommandations.

Oui. L'IA peut recommander des champs de schรฉma, des analyseurs et des paramรจtres de cache, dรฉtecter les requรชtes lentes et suggรฉrer des stratรฉgies de partitionnement et de rรฉplication.ping Les รฉquipes optimisent Solr en termes de performance et de pertinence avec moins d'essais et d'erreurs.

Rรฉsumez cet article avec :