Tutoriel Apache Solr : Qu'est-ce que Solr ? Archiconfiguration et installation
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
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 | Solr Core peut être défini comme un index de textes et de champs dérivés de tous les documents. Une instance Solr peut avoir un ou plusieurs cœurs Solr.
Core = une instance de configuration Lucene Index + 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 réelles dans un document. La clé spécifie le nom du champ et la valeur contient ces données de champ. Un document peut avoir un ou plusieurs champs. Il est utilisé par Apache Solr 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 compromet les composants suivants
Question
L'analyseur de requêtes analyse les requêtes que vous devez transmettre à Solr. Il vérifie votre requête pour vérifier les erreurs syntaxiques. Après avoir analysé les requêtes, cela se traduit dans un format connu de Lucene.
Gestionnaire de requêtes
Les requêtes envoyées à Apache Solr sont traitées par le gestionnaire de requêtes. La requête peut être une requête de requête ou des requêtes 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 mapper le gestionnaire à un point de terminaison d'URL spécifique.
Rédacteur de réponses
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
Lorsque vous envoyez une demande de mise à jour à Apache Solr, elle est exécutée via un ensemble de plugins, de signature, de journalisation et d'indexation. Ce processus est appelé processeur de demande de mise à jour. Gestionnaire de mise à jour également responsable des modifications telles que l'ajout ou la suppression de fichiers, etc.
Applications Apache Solr
Application | Utilisation |
---|---|
Portail Intranet |
|
Client fédéré |
|
Ensembles de données d'instruments |
|
Documents réglementaires |
|
Intégré à l'application PLM |
|
Comment installer Apache Solr ?
Étape 1) Ouvrez le site Web et continuez à vous abonner
Aller à cette lien, Cliquez sur « Continuer à vous abonner ».
Étape 2) Cliquez sur Accepter les conditions
Sur la page suivante, cliquez sur Accepter les conditions.
Étape 3) Attendez un peu de temps
Ensuite, attendez un certain temps, puis la demande est acceptée après un certain temps.
Étape 4) Continuer vers Configuration
Actualisez la page et cliquez sur « Continuer vers la configuration »
Étape 5) Continuer à lancer
Conservez les paramètres par défaut et cliquez sur « Continuer à lancer ».
É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 »
Vous verrez ce message de réussite
Étape 7) Notez le DNS public
Dans la console EC2, notez le DNS public de votre instance
Étape 8) Ouvrir l'URL ci-dessous
Pour accéder à Solr, utilisez simplement l'URL
http://publicdns:8983
dans notre cas, cela devient
http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983
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 :
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
Résumé
- Apache Solr est un logiciel open source API REST serveur de recherche basé
- Apache Solr a été développé au CNET par Yonik Seeley dans le cadre d'un projet interne de l'entreprise.
- Apache Solr offre des fonctionnalités telles que la saisie semi-automatique et la recherche géospatiale
- Solr Core, Solr Instance, Indexation, Document, Restful API, Recherche en texte intégral, Interface d'administration, etc. sont quelques termes clés utilisés dans Apache Solr.
- Les requêtes, les gestionnaires de requêtes, les rédacteurs de requêtes et les gestionnaires de mise à jour sont quelques-uns des composants importants d'Apache Solr.
- Le portail intranet, le client fédéré, les ensembles de données d'instruments, les documents réglementaires, intégrés dans l'application PLM sont des applications Apache Solr utiles.
- Apache Solr est bien documenté par rapport à la recherche élastique qui est mal documentée
- Le plus grand avantage d'Apache Solr est qu'il vous aide à réduire le temps nécessaire à la localisation des informations.
- Le principal inconvénient de cette application : ce n'est pas un magasin de données conforme à l'ACID.