Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Meilisearch
Search
Loulier Guillaume
June 21, 2023
Programming
1
120
Meilisearch
Loulier Guillaume
June 21, 2023
Tweet
Share
More Decks by Loulier Guillaume
See All by Loulier Guillaume
Building a semantic search experience using PHP and Meilisearch
guikingone
0
27
Symfony UX et le frontend
guikingone
1
20
K6, stresser son application en douceur
guikingone
1
34
Need to search through your data? Heard about Meilisearch?
guikingone
1
170
Switching off legacy code using one Symfony command at a time
guikingone
1
100
SQLite en production ? Et si vous réévaluiez vos options ?
guikingone
1
910
Dagger, la CI, autrement
guikingone
1
240
Rector, time to refactor your code easily
guikingone
2
320
N'ayez pas peur de refactoriser
guikingone
1
780
Other Decks in Programming
See All in Programming
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
120
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
290
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
Ethereum_.pdf
nekomatu
0
460
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.5k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
The Invisible Side of Design
smashingmag
298
50k
Designing the Hi-DPI Web
ddemaree
280
34k
Typedesign – Prime Four
hannesfritz
40
2.4k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Transcript
Meilisearch
Sommaire 01 - Morceler pour trouver 02 - Meilisearch 03
- Quid d’une démo ? 04 - Demain, peut-être 01
Morceler pour trouver
L’art du savoir
Chercher l’aiguille dans la charrette L’humanité morcelle son savoir depuis
sa naissance Le savoir devient une ressource à indexer, filtrer, regrouper, analyser L’apprentissage se construit en morcelant le contenu appris
Les pages jaunes, région PACA L’annuaire, cette invention merveilleuse Au
fond, tout n’est qu’index, document et recherche par mot-clé, structure, etc Optimiser le stockage optimise la recherche qui optimise le temps
Meilisearch
Se réinventer
Expérimenter Né pour une besoin spécifique chez LVMH Première itération
écrite en Go, réécrit en Rust, d’où sa rapidité (< 50ms) Open-source (MIT) et français SDK PHP et bien d’autres
KFC, bucket XXL Utilise un tokeniser puis des pipelines Autorise
la recherche par préfixes / sur plusieurs indexes Segmente, normalise et internationalise sa recherche, supporte les vecteurs Tolérant aux fautes et accents, large support des langues
Stocker n’est pas retenir Utilise LMDB et l’approche memory map
Majorité d’opération en asynchrone S’adapte à la RAM / aux threads disponible(s) Index d’environ 80 TiB ? Pas de soucis
Démontrer
Même pas peur Calquée sur symfony/demo Disponible via https://github.com/Guikingone/SymfonyMeiliSearch
Demain, c’est loin
Savoir se vendre Plus open-source qu’Elasticsearch / Algolia Tolérant à
la typo, support des langues automatique, filtres, tri, etc. Support large et varié (SDK, Cloud, etc) Configurable à souhait (env, CLI)
Vendre à perte Haute disponibilité via l’offre Cloud Bundle Symfony
peu extensible Tâches asynchrones Tri personnalisé limité
C’est tout