Elastic Paris Meetup : Malt

Ce Mardi 22 Janvier 2019 se tenait dans les locaux de Malt à Paris, le 35ème meet-up du groupe ElasticFR, un groupe composé d’environ 2800 membres. C’est un groupe qui a pour vocation d’organiser des rencontres entre les passionnés francophones des projets Elastic (Elasticsearch, Logstash, Beats, and Kibana et leurs plugins).

IMAG1972

Déroulement de la soirée :

19h00 : ouverture des portes (food and drinks)
19h30 : accueil par Elastic et Malt
19h45 : Talk 1: Les différents cas d’usage d’Elasticsearch chez Malt
20h15 : Talk 2: Nouveautés de Lucene 8 et Elasticsearch 7
20h45 : Social discussions (food and drinks)
22h00 : fin du meetup

Talk 1: Les différents cas d’usage d’Elasticsearch chez Malt

Présentateur : Hugo Lassiège

Hugo Lassiège est CTO et co fondateur chez Malt. Il officie dans l’informatique depuis 18 ans principalement en tant qu’ingénieur en développement. Il apprécie discuter d’architecture technique ou d’organisation (qui n’est rien d’autre que de l’architecture sociale), de moteur de recherche, de science des données.

IMAG1946

Elasticsearch est utilisé depuis 2012 chez Malt. Cette première présentation avait pour but de montrer un apercu de son usage au sein du moteur public mais aussi sur certaines parties privées du site.

Pour ceux qui ne connaissent pas ElasticSearch, c’est un serveur utilisant Lucene pour l’indexation et la recherche des données. Elle fournit un moteur de recherche distribué et multi-entité à travers une interface REST. C’est un logiciel libre écrit en Java et publié en open source sous licence Apache. Au début Janvier 2019, elle était classé au 8ème rang selon le classement DB-Engines Ranking, en progression (+2) par rapport à Janvier 2018.

Ranking.png

Il existe plein d’informations  sur le net sur Elasticsearch et je vous invite à les lire.

Pour revenir au talk, Hugo Lassiège a aussi pris le temps d’expliquer le concept de scoring à travers les fonctions de gauss decay et functions script, de boost par proximité géographique mais aussi d’ontologie, d’analyseur multi langue ou de migration de mapping.

Bien qu’Elasticsearch offre un algorithme de scoring efficace, il peut souvent s’avérer insuffisant dans les contextes de commerce électronique. La plupart des utilisateurs ont tendance à se préoccuper uniquement du nombre de résultats le plus élevé. ce qui signifie qu’il est très important d’avoir un mécanisme de notation flexible. Si vous pouvez présenter les meilleurs résultats en fonction des préférences de l’utilisateur, votre taux de conversion augmentera probablement de manière significative.

Talk 2: Nouveautés de Lucene 8 et Elasticsearch 7

Présentateur : Jim Ferenczi

Jim Ferenczi est développeur dans l’équipe Elasticsearch. Il est également committeur sur le project Lucene.

IMAG1948

Il a ensuite abordé les nouveautés d’Elasticsearch7, abordant rapidement les changements sur les indices, et sur les analyses.

Il est aussi revenu sur le concept du scoring, notamment sur la formule BM25.

Il a donné plus de détails sur le fonctionnement, en expliquant les scoring factors, IDF(qi),tf(qi),Field length ( norm). Il a ensuite donné l’exemple du MaxScore ou comment ce scoring particulier pouvait permettre de rendre le scoring plus efficient. L’idée réside dans le fait de booster les disjonctions en évitant les documents non compétitifs. Il est aussi revenu sur la limitation du MaxScore, en expliquant que ce scoring dépend directement de la fréquence du terme dans tous les segments, et que celui pouvait changer lors de l’indexation de nouveaux documents. Il a aussi montré un exemple pratique du WAND ( Weak AND ).  Il a ensuite expliqué brièvement les autres optimizations, comme les Phrase queries, Synonym query, Boolean query.

Il a conclu en expliquant le Feature query, son intégration dans Elasticsearch 7 et comment ca pouvait améliorer significativement les performances.

Le Meet up s’est terminé avec la distribution de pizzas et de bières !

Laisser un commentaire

%d blogueurs aiment cette page :