SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 73 visiteurs en ce moment

Accueil > Navigation > Recherche > Elasticsearch > Elasticsearch

Elasticsearch

7 mai 2017 – par Guytarr, Teddy Payet

9 votes

Un connecteur pour brancher un site SPIP et indexer le contenu dans le moteur d’indexation et de recherche Elasticsearch. Actuellement, seul les articles et les documents bureautiques sont pris en charge, c’est une contribution en chantier qui doit encore beaucoup évoluer, mais qui peut être utilisable avec un peu d’effort.

Prérequis

Attention, il vous faudra au préalable disposer de Java et installer :

Il faut également disposer de l’extension cURL pour php :
Sous windows, vous devez décommenter dans votre php.ini :

extension=php_curl.dll

Il faut ensuite recharger ou redémarrer apache.

Vous devez lancer pour commencer le serveur tika avec la commande suivante depuis le répertoire où vous l’avez déposé :

java -jar tika-server-1.14.jar

Puis lancez Elasticsearch avec la commande suivante depuis le répertoire où vous l’avez déposé sur Linux-like :

sh bin/elasticsearch

ou sur Windows :

bin\elasticsearch.bat

Installation

Ce plugin s’installe comme tous les plugins par l’intermédiaire du gestionnaire de plugins de SPIP. Merci de vous référer à la page dédiée.

Configuration

Par défaut, Elasticsearch se lance sur le port 9200 et tika sur le 9998.
Vous pouvez vérifier qu’ils sont lancés en ouvrant le navigateur sur ces ports, par exemple, si vous travaillez en local :
http://localhost:9200 et http://localhost:9998.

Vous devrez ensuite configurer l’extracteur de documents avec le nom du serveur et le port de tika (localhost et 9998 si vous êtes en local). Le plugin Elasticsearch devra être aussi réglé avec ses url et port de serveur (http://localhost:9200 si vous êtes en local).

Renseignez ensuite un nom pour l’index.

Utilisation

Après avoir installé et configuré le plugin Elasticsearch, vous pourrez alors lancer l’indexation.
Le plugin indexe les articles par lot de 500 sur le site et pour les documents par 20. L’indexation est une liste de travaux et donc est lancée lorsqu’il y a des visites.

Nous vous recommandons un module complémentaire pour votre navigateur afin de faire un rafraîchissement automatique d’une page du site si vous êtes en local.

Les nouveaux articles ou documents sont indexés au fil de leur publication.

Une fois l’ensemble des contenus indexés vous pouvez relancer une indexation complète si nécessaire : si vous faites d’énormes modifications sur vos contenus, par exemple une modification d’arborescence. Tous les cas ne sont effectivement pas encore gérés mais c’est un début fonctionnel.

Il n’y a alors pas d’interruption de service car l’ancien index reste utilisé pour les recherches tandis que toutes les modifications du site se font dans le nouvel index. Une fois l’indexation regénérée, l’ancien index est supprimé et les recherches se font alors sur le nouvel index.

État des lieux

Problèmes connus et améliorations prévues :

  • si vous réinitialisez la liste des travaux pendant l’indexation cela l’arrête ;
  • si vous déplacez une rubrique la hiérarchie des articles n’est pas mise à jour ;
  • l’usage de l’analyseur ngram est temporaire (il remonte trop de résultats), il est prévu d’utiliser le fuzzy dans le futur en remplacement si les performances ne s’en trouvent pas trop affectées, ce qui était le cas lors de mes essais ;
  • il est difficile de prévoir un front cohérent, pour l’instant, il s’adapte à un squelette Z avec content, et il n’y a pas de style embarqué ;
  • il est difficile de prévoir du générique pour la partie publique ainsi que la manière d’indexer car ce que l’on souhaite indexer va dépendre de chaque site. Il faut travailler un peu mais vous avez un exemple de fonctionnement et il est assez rapide de fournir un squelette avec un mapping spécifique, un « put » spécifique à vos objets et un requêtage.
  • l’utilisation de squelettes était simplement pour produire quelque chose de fonctionnel rapidement, il est prévu de refaire en PHP certaines parties qui sont inutilement en squelettes.
  • une première version qui comprenait un autre objet (formations) ainsi que l’utilisation d’accès restreint (qui complique beaucoup les choses) est utilisée en production. Cette version simplifiée va permettre de repartir sur une base plus saine.

Références

Voir en ligne : https://plugins.spip.net/elasticsearch

P.-S.

Plugin testé avec apache tika v1.14 et toutes les versions de la branche 5 d’Elasticsearch jusqu’à la 5.4.0 incluse.

Dernière modification de cette page le 15 janvier 2018

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Menu animé déroulant

    16 août 2015 – 59 commentaires

    Barre de menu dynamique multi niveaux - adaptation aisée (?) des couleurs et dimensions - convient aussi aux petits écrans (mobiles).

  • Réservations multiples

    4 juillet – commentaires

    Permettre aux utilisateurs d’effectuer de réservations multiples (réserver pour plusieurs personnes à la fois ou réserver un événement plusieurs fois) Dépendances Saisies Réservation d’événements Introduction Il y a deux manières de multiplier les (...)

  • PHANTOM (HTML5UP)

    18 juillet – 32 commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • SPIPer Ipsum, l’évangile au quotidien

    28 décembre 2009 – 89 commentaires

    Ce plugin permet d’afficher les différentes lectures de l’évangile du jour et le saint du jour selon le calendrier fixé par l’Eglise catholique. Ce service est proposé par le site de L’Evangile au Quotidien dans plusieurs langues. Description Le (...)

  • ciparam : plugin « Configurateur de squelettes »

    29 novembre 2010 – 15 commentaires

    Ce plugin offre un mécanisme de sélection de forme de rubrique ou d’article, un mécanisme de variantes de chartes graphiques, la possibilité de choisir l’ordre de tri des articles dans les rubriques, un mécanisme de paramétrage de la page d’accueil, (...)