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
130
Meilisearch
Loulier Guillaume
June 21, 2023
Tweet
Share
More Decks by Loulier Guillaume
See All by Loulier Guillaume
Demandez et votre application répondra, la recherche sémantique avec PHP et Meilisearch
guikingone
1
69
Building a semantic search experience using PHP and Meilisearch
guikingone
0
110
Symfony UX et le frontend
guikingone
1
47
K6, stresser son application en douceur
guikingone
1
56
Need to search through your data? Heard about Meilisearch?
guikingone
1
200
Switching off legacy code using one Symfony command at a time
guikingone
1
110
SQLite en production ? Et si vous réévaluiez vos options ?
guikingone
1
1k
Dagger, la CI, autrement
guikingone
1
270
Rector, time to refactor your code easily
guikingone
2
350
Other Decks in Programming
See All in Programming
メモリリークが発生した時にpprofを使用して原因特定した話
zono33lhd
0
100
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.5k
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
230
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
710
Rethinking Data Access: The New httpResource in Angular
manfredsteyer
PRO
0
220
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
1
180
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
1
110
Doma で目指す ORM 最適解
nakamura_to
1
160
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
primeNumberでのRBS導入の現在 && RBS::Traceでinline RBSを拡充してみた
mnmandahalf
0
250
What Spring Developers Should Know About Jakarta EE
ivargrimstad
1
600
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.5k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Practical Orchestrator
shlominoach
188
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Designing for humans not robots
tammielis
253
25k
Code Review Best Practice
trishagee
68
18k
Documentation Writing (for coders)
carmenintech
71
4.8k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Making Projects Easy
brettharned
116
6.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Art, The Web, and Tiny UX
lynnandtonic
298
21k
Site-Speed That Sticks
csswizardry
7
590
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