[:fr]La parole est aux speakers : Damien Alexandre (AFUP Day 2019 Rennes)[:]

Publié le

[:fr]Jusqu’à l’AFUP Day 2019 Rennes, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils aborderont lors de leur conférence !

La conférence

État de l'art d'Elasticsearch avec PHP

Tout le monde utilise Elasticsearch, mais qui en comprend vraiment les particularités ? Dans ce talk je vous expose mes recommandations sur la mise en place du moteur de recherche dans un applicatif Web et les pièges dans lesquels nous tombons le plus souvent. Du tuning de pertinence à la mise à jour de mapping en production sans perte de service, vous apprendrez à maîtriser et reprendre confiance dans votre utilisation d'Elastic avec PHP.

La Fabrique
17/05/2019
09:20-10:00

As-tu déjà utilisé elasticsearch avec d’autres langages que PHP ? Si c’est le cas, as-tu retenu des différences sur son utilisation avec d’autres langages ?

Elasticsearch est vraiment facile à prendre en main via son API HTTP full JSON, compatible avec de nombreux langages (tout ce qui possède un client HTTP en fait) ; mais étrangement la majorité des utilisations du moteur hors PHP que j’ai eue l’occasion de croiser utilisaient Java et le TransportClient officiel.
C’est une possibilité offerte uniquement en Java, de communiquer avec Elasticsearch sur le port interne 9300. Mais cette façon de faire est sur le point d’être dépréciée !
J’ai aussi croisé des implémentations JavaScript et on peut vraiment apprécier de manipuler un JSON nativement en entrée comme en sortie !

Quels sont, pour toi, les cas d’utilisation les plus pertinents d’Elasticsearch ?

Le premier besoin est bien souvent la recherche full-text, mais nous l’utilisons aussi beaucoup en stockage secondaire NoSQL. En effet manipuler des documents où toute la donnée est dénormalisée est souvent bien plus performant que d’utiliser la base de données relationnelle pour construire des pages complexes…
Le stockage et l’exploitation de logs sont aussi très pertinents, l’outil a été taillé pour ça.

Dans l’univers NoSQL, il y a souvent des DSL, des façons spécifiques de requêter le moteur. Elasticsearch propose-t-il une façon standard d’être interrogé ?

Elasticsearch propose son propre DSL ; les requêtes de recherche sont composées tel un arbre avec des feuilles et des combinaisons. Ce DSL n’est partagé avec aucun autre applicatif, il est vraiment propre au moteur et sa courbe d’apprentissage est plutôt abrupte. Cependant, les fans du SQL peuvent se réjouir : depuis Elastic 6.3, il est possible de lancer des recherches et des agrégations avec le standard SQL, et même d’en obtenir le Query DSL !

Une conférence présentée par

Damien ALEXANDRE
Damien ALEXANDRE
Utilisateur avancé de PHP, Damien est développeur Web depuis une dizaine d'années, et touche aussi bien aux gros backend qui tâchent qu'au développement front avec JavaScript. Aujourd'hui expert Symfony et Elasticsearch au sein de JoliCode, il est un habitué des meetups Parisien et partage son temps libre entre les concerts et les jeux-vidéo.

Autres interviews

[:]