VT2018 Apache Solr

From air
Revision as of 19:19, 8 January 2019 by Raphael.Manger (talk | contribs)
Jump to navigation Jump to search

Introduction

Technologie : Apache Solr
Auteur : Raphael MANGER
E-mail : raphael.manger+solr@gmail.fr
Presentation : Transparents

Résumé

Apache Solr est un serveur moteur de recherche développé en Java à partir de 2004 par l'entreprise CNET Networks et désormais maintenu par l'Apache Software Foundation. Il permet de gérer toute la chaine d'acquisition des données et plus particulièrement l'indexation, grâce à la bibliothèqe Lucene, et la recherche de texte.

Abstract

Apache Solr is a search engine server developped in Java since 2004 by CNET Networks a now maintained by the Apache Software Foundation. It allows to manage all the data acquisition process and more specifically indexing, thanks to Lucene library, and full-text search.

Synthèse

Description

Apache Solr est un serveur/moteur de recherche développé en Java et utilisant les fonctionnalités de la bibliothèque Lucene. Il peut être utilisé en local ou être déployé sur un cloud et peut être administré en ligne de commande ou via une interface HTML dédiée. Ses configurations par défaut lui permettent de superviser toute la chaine d'acquisition de données et notamment les phases suivantes :

  • récupération des données (web crawling, requêtes BDD, ...)
  • traitement des données
  • indexation des données (bibliothèque Lucène)

Il peut indexer des collections de données dans des formats très divers ainsi qu'effectuer des recherches. Hautement configurable, il peut également être amélioré avec de nombreux plugins et est conçu pour opérer avec les différents outils maintenus par l'Apache Software Foundation :

  • Nutch : indexeur automatique
  • Tika : bibliothèque d'extraction de données et métadonnées
  • Hadoop : gestionnaire de fichiers

Il s'utilise via une API REST-like avec des requêtes HTTP et des réponses en JSON (par défaut).

Prérequis

Utiliser un système Unix.

Installation

Récupérer l'archive des binaires au format .tgz [ici] et la dépaqueter :

tar zxvf solr-7.0.0.tgz

Puis :

cd solr-7.0.0

Voilà !

Présentation du répertoire

  • bin/ : contient les exécutables permettant d'utiliser Apache Solr
  • example/ : contient les configurations et collections pour les exemples
  • server/solr/ : contient les configurations par défaut pour une première utilisation ainsi que les collections créées

Utilisation

Démarrage

./bin/solr start

Pour vérifier que tout fonctionne correctement, exécuter :

./bin/solr status

Un message devrait indiquer qu'une instance de Solr est accessible par le port 8983. Dans un navidateur Web, rendez vous à l'adresse [http://localhost:8983], vous devriez voir l'interface HTML de l'application :

Solr Interface.png

Si des messages de Warning apparaissent, essayez :

export SWT_GTK3=0

Création d'une collection

Pour créer une collection de documents, exécuter :

./bin/solr create -c <nom>

Pour ajouter des documents à cette collection, deux possibilités :

  • à partir de vos fichiers :
./bin/post -c <nom> ~/<chemin>
  • à partir d'un site web :
./bin/post -c <nom> http://<adresse>

Recherche dans une collection

Pour rechercher un terme dans une collection, utiliser la commande suivante :

curl http://localhost:8983/solr/<nom>/select?q=<termeAChercher>

L'interface HTML permet également d'effectuer des recherches.

Arrêt

./bin/solr stop

Sources