SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 194 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 : http://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 23 octobre 2017

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

  • Personnalisation graphique du squelette SoyezCréateurs

    19 août 2009 – 93 commentaires

    Il est possible de personnaliser l’affichage du squelette SoyezCréateurs de manière plus ou moins profonde. Changement dans les couleurs via CFG La page de CFG des couleurs de SoyezCreateurs : ecrire/ ?exec=cfg&cfg=soyezcreateurs_couleurs (...)

  • Rainette v1, la méteo au quotidien

    31 juillet 2009 – 200 commentaires

    Ce plugin permet d’afficher les conditions et les prévisions météorologiques d’une ville donnée à partir du flux xml fourni par le site weather.com(r).

  • Métas +

    3 décembre 2016 – 34 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, vous (...)

  • Photoswipe

    18 septembre 2016 – 35 commentaires

    Une lightbox javascript responsive. PhotoSwipe est une boîte multimédia — comme la Mediabox installée en série avec SPIP — qui permet de zoomer à la taille réelle des images et qui gère intelligemment les légendes. Le plugin est basé sur la librairie (...)

  • Japibas, squelette responsive

    11 octobre 2013 – 96 commentaires

    Japibas est un squelette responsive, multilingue (français, anglais et espagnol), dont l’habillage conviendrait à un site de type blog ou webzine. Le graphisme est inspiré du template Wordpress Japibas réalisé par Jesper Johansen et distribué sous (...)