Elasticsearch jako chytrá cache

23
ES jako chytrá cache Patrik Votoček / @PatrikVotocek Slevomat.cz / Shipito.com

Transcript of Elasticsearch jako chytrá cache

ES jako chytrá cachePatrik Votoček / @PatrikVotocek

Slevomat.cz / Shipito.com

Agenda

● Co bylo před● První implementace● FAIL● Větší použití● Hledání● FAIL● Součastnost

Slevomatí slovníček

● Deal / Produkt / Akce / Nabídka● Kampaň● Varianty● Kategorie● Tagy / Štítky● Zlavomat● Vtip na úvod

Deal

Kampaň

Varianty

Kategorie

Tagy

Co bylo (rok 2012)

Co bylo (rok 2012)

Bez cache● cca 126 sekund● cca 3600 SQL dotazů● smazání cache = 10 - 15min totální zahlcení

● “L2-cache” entit ve firemním “ORM”

První použití - codename “BigBoom”

● Seznam produktů na frontendu● Mailing

● Export cronem (1x/hod - cca 45min)● ES se dotazujeme pouze na IDčka● Elastica / 1 replica / 6 shardu

“BigBoom”Bez cache cca 48 sekund

SPAM

FAIL - 1000

Filtry

Hledánímá to v názvu “search” tak by to mohlo umět

hledat né?

● Stále ladíme váhy (boosting - `name^10`)● Čeština byla problém● Hunspell● Synonyma● Každý text použitý pro hledání je v ES

vícekrát (různé analyzéry)

Hledání

FAIL - MOŘSKÝ SVĚT

RabbitMQ

● River● CRON a “eventy”● Kompletní reindexace v řádu desítek minut

Používáme

● Mapping - nested● Query● Filtry● Agregace● Highlighty● Pevně danný mapping● GEO lokaci (https://www.slevomat.cz/mobil)

FAIL - LEGOOprava odstranění hledání ve vtipech

Patrik Votoček / @PatrikVotocekSlevomat.cz / Shipito.com

Dotazy?