Elasticsearch & Redis
search and caching layer
Elasticsearch powers our full-text search and analytics. Redis handles caching, sessions, and real-time data. Together they make applications fast.
Full-text
search
Real-time
caching
Sub-second
response times
ISO 27001
certifikovaný provoz
Co to je
Elasticsearch a Redis
Elasticsearch a Redis jsou klíčové doplňkové technologie v stacku Cognito Works. Elasticsearch poskytuje fulltextové vyhledávání, facety, autocomplete a analytiku nad velkými objemy dat.
Redis zajišťuje in-memory caching, session management a message brokering. Obě technologie provozujeme na Kubernetes s monitoringem přes Grafana. Vše v souladu s ISO 27001.
Proč
Elasticsearch a Redis
Rychlé vyhledávání, caching, session management a analytika v reálném čase. Čtyři důvody, proč tyto technologie nasazujeme.
Fulltextové vyhledávání
Elasticsearch indexuje miliony dokumentů a vrací výsledky v milisekundách. Autocomplete, fuzzy matching, facety, relevance scoring.
In-memory caching
Redis drží často používaná data v paměti. Odezvy databáze z desítek milisekund na jednotky. Méně zátěže na PostgreSQL, rychlejší aplikace.
Session a queue management
Redis jako session store pro bezstavové aplikace a message broker pro asynchronní zpracování. Spolehlivě a rychle.
Analytika v reálném čase
Elasticsearch agreguje a analyzuje data průběžně. Dashboardy, filtry, statistiky bez čekání na noční batch.
Hlavní vlastnosti
Elasticsearch a Redis
Vyhledávání v e-commerce
Produktový katalog s facety, filtry, autocomplete a relevance scoring. Zákazník najde, co hledá, za milisekundy.
Fulltextový search
Vyhledávání přes dokumenty, články, FAQ, produktové popisy. Podpora češtiny, lemmatizace, synonyma.
Caching databázových dotazů
Redis cachuje výsledky nejčastějších dotazů. Snižuje zátěž na PostgreSQL a zrychluje odezvy celé aplikace.
Session management
Redis jako centrální session store. Bezstavové aplikace škálovatelné horizontálně bez sticky sessions.
Logování a monitoring
Elasticsearch jako úložiště pro logy. Kibana pro vizualizaci, alerting na anomálie, rychlé vyhledávání v historii.
Asynchronní zpracování
Redis jako message broker pro fronty úloh. E-maily, notifikace, PDF generování, importy dat bez blokování uživatele.
Kde nasazujeme
Elasticsearch a Redis
E-commerce platformy
Marco 3.0. Produktový katalog s facety, filtry, autocomplete a relevance scoring. Zákazník najde, co hledá, za milisekundy.
Vyhledávací widget
Cognito Search Widget. Fulltextové vyhledávání přes dokumenty, články a produkty. Podpora češtiny, synonyma, fuzzy matching.
B2B portály
Smith A. Redis pro caching ceníků a session management, Elasticsearch pro vyhledávání v produktovém katalogu.
Produktové konfigurátory
Konfigurátor Guru. Rychlé vyhledávání v tisících variant a kombinací, cache pro opakované konfigurace.
Zakázkové aplikace
API caching, session management, asynchronní zpracování. Redis a Elasticsearch jako výkonnostní vrstva nad PostgreSQL.
Logování a monitoring
LogElasticsearch jako úložiště pro aplikační logy. Kibana pro vizualizaci, alerting na anomálie, rychlé vyhledávání v historii.
Často kladené otázky
PostgreSQL fulltext zvládne základní vyhledávání pro menší objemy dat. Elasticsearch nasazujeme tam, kde potřebujete facety, autocomplete, fuzzy matching, relevance scoring nebo vyhledávání přes miliony záznamů. Doporučíme, co dává smysl pro váš projekt.
Data z PostgreSQL indexujeme do Elasticsearch přes asynchronní pipeline. Změny se promítnou v řádu sekund. Konzistence je zajištěna monitoringem a automatickou reindexací.
Redis je cache, ne primární úložiště. Při výpadku aplikace čte přímo z PostgreSQL. Po restartu se cache automaticky naplní. Pro session data používáme Redis s persistencí a replikací.
Desítky milionů dokumentů bez problémů. Elasticsearch škáluje horizontálně, přidáváme nody podle objemu dat. Pro většinu projektů stačí jeden cluster, pro větší objemy distribuovaná architektura.
Používáme český analyzer s lemmatizací, synonymy a ASCII folding pro vyhledávání bez diakritiky. Výsledky jsou relevantní i při překlepech díky fuzzy matching. Konfigurace je součástí každého projektu, kde nasazujeme fulltextové vyhledávání.