Apache Solr - Présentation

Solr est une plateforme de recherche open source utilisée pour construire search applications. Il a été construit au-dessus deLucene(moteur de recherche plein texte). Solr est prêt pour l'entreprise, rapide et hautement évolutif. Les applications créées avec Solr sont sophistiquées et offrent des performances élevées.

C'était Yonik Seelyqui a créé Solr en 2004 afin d'ajouter des fonctionnalités de recherche au site Web de l'entreprise de CNET Networks. En janvier 2006, il est devenu un projet open-source sous Apache Software Foundation. Sa dernière version, Solr 6.0, a été publiée en 2016 avec la prise en charge de l'exécution de requêtes SQL parallèles.

Solr peut être utilisé avec Hadoop. Comme Hadoop gère une grande quantité de données, Solr nous aide à trouver les informations requises à partir d'une source aussi importante. Non seulement la recherche, Solr peut également être utilisé à des fins de stockage. Comme les autres bases de données NoSQL, il s'agit d'unnon-relational data storage et processing technology.

En bref, Solr est un moteur de recherche / stockage évolutif, prêt à être déployé, optimisé pour rechercher de grands volumes de données orientées texte.

Caractéristiques d'Apache Solr

Solr est une enveloppe autour de l'API Java de Lucene. Par conséquent, en utilisant Solr, vous pouvez tirer parti de toutes les fonctionnalités de Lucene. Jetons un coup d'œil à certaines des fonctionnalités les plus importantes de Solr -

  • Restful APIs- Pour communiquer avec Solr, il n'est pas obligatoire d'avoir des compétences en programmation Java. Au lieu de cela, vous pouvez utiliser des services reposants pour communiquer avec lui. Nous entrons des documents dans Solr dans des formats de fichiers tels que XML, JSON et .CSV et obtenons des résultats dans les mêmes formats de fichiers.

  • Full text search - Solr fournit toutes les fonctionnalités nécessaires pour une recherche en texte intégral telles que les jetons, les phrases, la vérification orthographique, les caractères génériques et la saisie semi-automatique.

  • Enterprise ready - Selon les besoins de l'organisation, Solr peut être déployé dans tout type de système (grand ou petit) tel que autonome, distribué, cloud, etc.

  • Flexible and Extensible - En étendant les classes Java et en les configurant en conséquence, nous pouvons personnaliser les composants de Solr facilement.

  • NoSQL database - Solr peut également être utilisé comme base de données NOSQL à grande échelle de données où nous pouvons répartir les tâches de recherche le long d'un cluster.

  • Admin Interface - Solr fournit une interface utilisateur facile à utiliser, conviviale, alimentée par des fonctionnalités, à l'aide de laquelle nous pouvons effectuer toutes les tâches possibles telles que gérer les journaux, ajouter, supprimer, mettre à jour et rechercher des documents.

  • Highly Scalable - Tout en utilisant Solr avec Hadoop, nous pouvons augmenter sa capacité en ajoutant des répliques.

  • Text-Centric and Sorted by Relevance - Solr est principalement utilisé pour rechercher des documents texte et les résultats sont fournis en fonction de la pertinence avec la requête de l'utilisateur dans l'ordre.

Contrairement à Lucene, vous n'avez pas besoin d'avoir des compétences en programmation Java lorsque vous travaillez avec Apache Solr. Il fournit un merveilleux service prêt à être déployé pour créer un champ de recherche avec la saisie semi-automatique, ce que Lucene ne fournit pas. En utilisant Solr, nous pouvons mettre à l'échelle, distribuer et gérer l'index, pour des applications à grande échelle (Big Data).

Lucene dans les applications de recherche

Lucene est une bibliothèque de recherche Java simple mais puissante. Il peut être utilisé dans n'importe quelle application pour ajouter des fonctionnalités de recherche. Lucene est une bibliothèque évolutive et performante utilisée pour indexer et rechercher pratiquement tout type de texte. La bibliothèque Lucene fournit les opérations de base requises par toute application de recherche, telle queIndexing et Searching.

Si nous avons un portail Web avec un volume énorme de données, nous aurons très probablement besoin d'un moteur de recherche dans notre portail pour extraire les informations pertinentes de l'énorme pool de données. Lucene fonctionne comme le cœur de toute application de recherche et fournit les opérations vitales relatives à l'indexation et à la recherche.