Retour d'atelier : comment mettre en place ElasticSearch sur un projet Symfony

Cette semaine, nous discutons de l'intégration d'ElasticSearch sur un projet Symfony. Quelles solutions ? Quelles réflexions ? Petits retours de nos échanges internes.

Attention, cet article date de plus de 2 ans maintenant... Il est possible que les infos publiées ne soient plus correctes aujourd'hui...

Les ateliers chez Wanadev

Nous avons pris l'habitude chez Wanadev de nous retrouver, une fois par semaine, autour d'un café pour discuter et débattre d'une solution ou d'une technologie, pour partager les connaissances. Cette semaine, c'est un atelier ElasticSearch que nous propopose Baptiste. Nous travaillons tous, ou presque, sur des projets développés avec l'excellent framework Symfony, l'objet de cet atelier sera de comparer les différentes solutions pour câbler ElasticSearch et Symfony.

Relier ElasticSearch et Symfony

Présentation ElasticSearch par Baptiste Retrouvez le support de présentation de Baptiste.

En dehors du fonctionnement même d'ElasticSearch, que vous devrez maîtriser un minimum pour ensuite le câbler à Symfony, 3 solutions semblent sortir du lot.

FosElasticaBundle

FosElasicaBundle est un bundle intéressant. Mais correspond-il vraiment à nos besoins ? Principalement, oui, mais :

  • L'activité du projet sur Github nous semble assez faible pour nous assurer un fonctionnement dans le temps.
  • Le bundle n'est pas forcément adapté compte tenu que, dans la plupart des cas, les documents sont indexées d'une manière différente de votre base de données. Cela fait perdre l'avantage d'ElasticSearch dans sa capacité à indexer des données sous une forme particulière (comprennez faire des recherches extrêmement efficace).

Elastica

Elastica est toujours en cours de développement, mais est déjà stable. Cependant, après l'avoir testé sur un projet de test chez Wanadev, nous avions abandonné à cause d'une manque de flexibilité sur la configuration (index/type/settings/analysers…)

Client officiel ElasticSearch

Le client officiel ElasticSearch PHP est vraiment celui qui nous a séduit chez Wanadev. Nous l'utilisons désormais sur nos projets professionnels ou personnels.

  • C'est le client officiel
  • Le projet est stable
  • Il est simple, et surtout Plug-and-Play
  • Nous pouvons gérer de multiples hosts

Pistes, projets, discussions...

Cette (très) brève introduction au câblage d'ElasticSearch sur un projet Symfony permet de démarrer sur des pistes de réflexion. De votre coté : avez-vous utilisé les solutions précédentes ? Il est même possible de faire sa propre solution from Scratch, peut être est-ce votre cas ?

Dans la présentation de Baptiste liée plus haut, des sources d'inspiration ou de travail sont listées tout au long des diapos. Nous vous invitons à réagir sur ces petits points abordés chez nous, mais qui méritent d'être ouverts à de (bien plus) amples échanges ;-) !

Tags de
l'article

ElasticSearch Atelier

Catégories de l'article

Symfony Développement

Commentaires

Il n'y a actuellement aucun commentaire. Soyez le premier !

Articles liés