SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 195 visiteurs en ce moment

Accueil > Navigation > Recherche > Elasticsearch > Elasticsearch

Elasticsearch

7 mai 2017 – par Guytarr, Teddy Payet

8 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 9 juin 2017

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

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

  • MediaBox

    10 mai 2010 – 514 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Sommaire automatique

    31 janvier 2013 – 14 commentaires

    Ce plugin repère les intertitres des textes de vos articles et s’en sert pour génèrer un sommaire. Ce dernier peut être inséré automatiquement au début de chaque article, ou utilisé dans les squelettes pour générer un sommaire sur n’importe quel autre (...)

  • La Fabrique

    20 avril 2012 – 316 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)

  • Enluminures typographiques V3

    25 juillet 2009 – 186 commentaires

    Les Enluminures typographiques V3 permettent d’ajouter au Porte plume les raccourcis typographiques présents dans le Plugin Barre Typographique Enluminée. C’est une extension du PortePlume. Pour la documentation d’usage, se reporter à celle du (...)

  • Refonte de l’identité graphique

    10 juillet – 36 commentaires

    Lors de la SPIP Party 2017 à Toulouse, un nouveau contributeur est venu nous présenter son travail sur une refonte du logo. Au delà de la refonte du logo, c’est une toute nouvelle identité graphique pour SPIP que Jordan nous propose. Voici une (...)

Ça spipe par là