Qu'est-ce qu'Apache Solr ? Apache Solr est une plate-forme de recherche open source de classe entreprise écrite en Java qui vous permet de créer des moteurs de recherche personnalisés qui indexent des bases de données, des fichiers et des sites Web. Il a un support back-end pour Apache Lucene. Il peut par ex. être utilisé pour rechercher dans plusieurs sites Web et peut afficher des recommandations pour le contenu recherché. Solr utilise un langage de requête et de résultat basé sur XML (Extensible Markup Language). Il existe des API (interfaces de programme d'applications) disponibles pour Python, Ruby et JSON (Javascript Object Notation).
Certaines autres fonctionnalités fournies par Solr sont :
- Recherche en texte intégral.
- Génération et mise en surbrillance d'extraits
- Ordre/classement des documents personnalisés.
- Suggestions d'orthographe.
Ce tutoriel vous montrera comment installer la dernière version de Solr sur Ubuntu 16.04 LTS. Les étapes fonctionneront très probablement également avec les versions ultérieures d'Ubuntu.
Mettre à jour votre système
Utilisez un utilisateur sudo non root pour vous connecter à votre serveur Ubuntu. Grâce à cet utilisateur, vous devrez effectuer toutes les étapes et utiliser le Solr plus tard.
Pour mettre à jour votre système, exécutez la commande suivante pour mettre à jour votre système avec les derniers correctifs et mises à jour.
sudo apt-get update &&apt-get upgrade -y
Configuration de l'environnement d'exécution Java
Solr est une application Java, donc l'environnement d'exécution Java doit d'abord être installé afin de configurer Solr.
Nous devons installer les propriétés du logiciel Python afin d'installer la dernière version de Java 8. Exécutez la commande suivante pour installer le logiciel.
[email protected] :~# sudo apt-get install python-software-properties
Lecture des listes de packages... Terminé
Création de l'arborescence des dépendances
Lecture des informations d'état... Terminé
Les packages supplémentaires suivants seront installés :
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python2.7 python2.7-minimal
Packages suggérés :
python-doc python-tk python-apt-dbg python-apt-doc libcurl4-gnutls-dev
python-pycurl-dbg python-pycurl-doc python2.7- doc binutils binfmt-support
Les NOUVEAUX packages suivants seront installés :
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python- software-properties python2.7
python2.7-minimal
0 mis à jour, 10 nouvellement installés, 0 à supprimer et 3 non mis à jour.
Besoin d'obtenir 4 070 Ko d'archives.
Après cette opération, 17,3 Mo d'espace disque supplémentaire seront utilisés.
Voulez-vous continuer ? [O/n]
Appuyez sur Y pour continuer.
Après avoir exécuté la commande, ajoutez le référentiel Java PPA webupd8team dans votre système en exécutant :
sudo add-apt-repository ppa:webupd8team/java
Appuyez sur [ENTER] lorsque vous y êtes invité. Maintenant, vous pouvez facilement installer la dernière version de Java 8 avec apt.
Tout d'abord, mettez à jour les listes de packages pour récupérer les packages disponibles à partir du nouveau PPA :
sudo apt-get update
Installez ensuite la dernière version d'Oracle Java 8 avec cette commande :
sudo apt-get install oracle-java8-installer
[email protected] :~# sudo apt-get install oracle-java8-installer
Lecture des listes de packages... Terminé
Création de l'arborescence des dépendances
Lecture des informations d'état... Terminé
Les packages supplémentaires suivants seront installés :
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 x11-common xfonts-encodings xfonts-utils
Packages suggérés :
binutils-doc binfmt- prend en charge visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-core ttf-kochi-gothique | ttf-sazanami-gothique ttf-kochi-mincho | ttf-sazanami-mincho ttf-arphic-uming firefox
| firefox-2 | belette des glaces | mozilla-firefox | navigateur iceape | navigateur mozilla | épiphanie-gecko | épiphanie-webkit | épiphanie-navigateur | galion | mi-navigateur | moblin-web-browser | xulrunner
| xulrunner-1.9 | conquérant | navigateur chrome | midori | google-chrome
Les NOUVEAUX packages suivants seront installés :
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-installer x11-common xfonts-encodings xfonts-utils
0 mis à niveau, 10 nouvellement installées, 0 à supprimer et 3 non mises à jour.
Besoin d'obtenir 6 498 Ko d'archives.
Après cette opération, 20,5 Mo d'espace disque supplémentaire seront utilisés.
Voulez-vous Continuez? [O/n]
Appuyez sur Y pour continuer.
Vous DEVEZ accepter la licence disponible sur http://java.com/license si vous souhaitez utiliser Oracle JDK, en cliquant sur le bouton OK.
Le package installe une sorte de méta-installateur qui télécharge ensuite les binaires directement depuis Oracle. Après le processus d'installation, vérifiez la version de Java installée en exécutant la commande suivante
version Java
version Java "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixte mode)
Vous avez maintenant installé Java 8 et nous allons passer à l'étape suivante.
Installer l'application Solr
Solr peut être installé sur Ubuntu de différentes manières, dans cet article, je vais vous montrer comment installer le dernier paquet à partir de la source.
Nous allons commencer par télécharger la distribution Solr. Commencez par rechercher la dernière version du package disponible sur leur page Web, copiez le lien et téléchargez-le à l'aide de la commande wget
Pour cette configuration, nous utiliserons http://www.us.apache.org/dist/lucene/solr/6.0.1/
cd /tmp
wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
[email protected] :/tmp# wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
--2016-06 -03 11:31:54-- http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
Résolution de www.us.apache.org (www.us.apache.org)... 140.211.11.105
Connexion à www.us.apache.org (www.us.apache.org)|140.211.11.105|:80... connecté.
Requête HTTP envoyée, en attente de réponse... 200 OK
Longueur :137924507 (132M) [application/x-gzip]
Enregistrement vers :'solr-6.0.1.tgz'
Maintenant, exécutez la commande ci-dessous pour extraire le fichier d'installation du service :
tar xzf solr-6.0.1.tgz solr-6.0.1/bin/install_solr_service.sh --strip-components=2
Et installez Solr en tant que service en utilisant le script :
sudo ./install_solr_service.sh solr-6.0.1.tgz
Le résultat ressemblera à ceci :
[email protected] :/tmp# sudo ./install_solr_service.sh solr-6.0.1.tgz
id :'solr' :aucun utilisateur de ce type
Création d'un nouvel utilisateur :solr
Ajout de l'utilisateur système `solr' (UID 111) ...
Ajout du nouveau groupe `solr' (GID 117) ...
Ajout du nouvel utilisateur `solr' (UID 111) avec le groupe `solr' . ..
Création du répertoire personnel `/var/solr' ...
Extraction de solr-6.0.1.tgz vers /opt
Installation lien symbolique /opt/solr -> /opt/solr-6.0.1 ...
Installation du script /etc/init.d/solr ...
Installation de /etc/default/solr.in.sh ...
? solr.service - LSB :contrôle Apache Solr en tant que service
Chargé :chargé (/etc/init.d/solr ; mauvais ; préréglage du fournisseur :activé)
Actif :actif (quitté) depuis le ven 2016- 06-03 11:37:05 CEST ; Il y a 5 s
Docs :man:systemd-sysv-generator(8)
Processus :20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
03 juin 11:36:43 server1 systemd[1] :Démarrage de LSB :contrôle Apache Solr en tant que service...
03 juin 11:36:44 server1 su[20934] :su réussi pour solr par root
Juin 03 11:36:44 server1 su[20934] :+ ??? root:solr
Juin 03 11:36:44 server1 su[20934] :pam_unix(su:session) :session ouverte pour l'utilisateur solr par (uid=0)
Juin 03 11:37:05 server1 solr[20929] :[Données blob 313B]
Jun 03 11:37:05 server1 solr[20929] :Démarrage du serveur Solr sur le port 8983 (pid=20989). Bonne recherche !
Juin 03 11:37:05 server1 solr[20929] :[14B blob data]
Juin 03 11:37:05 server1 systemd[1] :Démarrage LSB :Contrôle Apache Solr en tant que Service.
Service solr installé.
Utilisez cette commande pour vérifier l'état du service
statut du service client
Vous devriez voir une sortie qui commence par ceci :
[email protected] :/tmp# service solr status
? solr.service - LSB :contrôle Apache Solr en tant que service
Chargé :chargé (/etc/init.d/solr ; mauvais ; préréglage du fournisseur :activé)
Actif :actif (quitté) depuis le ven 2016- 06-03 11:37:05 CEST ; Il y a 39 s
Documents :man:systemd-sysv-generator(8)
Processus :20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
03 juin 11:36:43 server1 systemd[1] :Démarrage de LSB :contrôle Apache Solr en tant que service...
03 juin 11:36:44 server1 su[20934] :su réussi pour solr par root
Juin 03 11:36:44 server1 su[20934] :+ ??? root:solr
Juin 03 11:36:44 server1 su[20934] :pam_unix(su:session) :session ouverte pour l'utilisateur solr par (uid=0)
Juin 03 11:37:05 server1 solr[20929] :[Données blob 313B]
Jun 03 11:37:05 server1 solr[20929] :Démarrage du serveur Solr sur le port 8983 (pid=20989). Bonne recherche !
Juin 03 11:37:05 server1 solr[20929] :[14B blob data]
Juin 03 11:37:05 server1 systemd[1] :Démarrage LSB :Contrôle Apache Solr en tant que Entretien.
Création d'une collection de recherche Solr :
En utilisant Solr, nous pouvons créer plusieurs collections. Exécutez la commande donnée, mentionnez le nom de la collection (ici pour commencer) et spécifiez ses configurations.
sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
[email protected] :/tmp# sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
Copie de la configuration dans le nouveau répertoire de l'instance principale :
/var/solr/data/gettingstarted
Création d'un nouveau noyau 'gettingstarted' à l'aide de la commande :
http://localhost:8983/solr/admin/cores?action=CREATE&name =gettingstarted&instanceDir=gettingstarted
{
"responseHeader":{
"status":0,
"QTime":4427},
"core" :"démarrage"}
Le nouveau répertoire principal de notre première collection a été créé. Pour afficher le fichier de schéma par défaut, accédez à :
/opt/solr/server/solr/configsets/data_driven_schema_configs/conf
Utiliser l'interface Web Solr
Apache Solr est désormais accessible sur le port par défaut, qui est 8983. L'interface utilisateur d'administration doit être accessible à l'adresse http://your_server_ip:8983/solr. Le port doit être autorisé par votre pare-feu à exécuter les liens.
Par exemple :
http://192.168.1.100:8983/solr/
Pour afficher les détails de la première collection que nous avons créée précédemment, sélectionnez la collection "Premiers pas" dans le menu de gauche.
Après avoir sélectionné la collection "Gettingstarted", sélectionnez Documents dans le menu de gauche. Vous pouvez y saisir des données réelles au format JSON qui seront consultables par Solr. Pour ajouter plus de données, copiez et collez l'exemple JSON suivant dans le champ Document :
{
"id":1,
"book_title":"Mon premier livre",
"published":1985,
"description":"Tout sur Linux "
}Cliquez sur le bouton Soumettre le document après avoir ajouté les données.
Statut :succès
Réponse :
{
"responseHeader":{
"status":0,
"QTime":189
}
}Nous pouvons maintenant cliquer sur Requête sur le côté gauche puis cliquez sur Exécuter Requête ,
Nous verrons quelque chose comme ceci :
{ "responseHeader":{ "status":0, "QTime":24, "params":{ "q":"*:*", "indent":"on", "wt":"json", "_":"1464947017056"}}, "response":{"numFound":1,"start":0,"docs":[ { "id":"1", "book_title":["My First Book"], "published":[1985], "description":["All about Linux"], "_version_":1536108205792296960}] }}
Téléchargement de l'image de la machine virtuelle de ce tutoriel
Ce tutoriel est disponible en tant qu'image de machine virtuelle prête à l'emploi au format ovf/ova pour les abonnés Howtoforge. Le format VM est compatible avec VMWare et Virtualbox. L'image de la machine virtuelle utilise les informations de connexion suivantes :
Connexion SSH/shell
Nom d'utilisateur :administrateur
Mot de passe :howtoforgeCet utilisateur a les droits sudo.
Veuillez modifier tous les mots de passe ci-dessus pour sécuriser la machine virtuelle.
Conclusion
Après avoir installé avec succès l'interface Web Solr sur Ubuntu, vous pouvez maintenant insérer les données ou interroger les données avec l'API Solr et l'interface Web.