Vinted migrates item search from Elasticsearch to Vespa, cutting servers in half and improving search latency 2.5x
As Vinted's catalogue grew to around 1 billion active items, Elasticsearch hit its limits: shard and replica management became time-consuming and error-prone, hot nodes created load imbalances, and a 300-second refresh interval made updated listings slow to surface in search.
The previous Elasticsearch setup required constant shard and replica tuning, generated persistent hot node load imbalances, imposed a 300-second refresh interval, and became operationally unwieldy as data and traffic scaled.
Vinted halved its server count (to 60 nodes), improved search latency by 2.5x and indexing latency by 3x, cut change-visibility time from 300 seconds to 5 seconds, and increased ranking depth more than 3x to 200,000 candidate items — all under a single unified Vespa deployment with a significant business impact on search relevance.
Show all 13 reported metrics
Frequently asked questions
What did this team achieve with this AI workflow?
Vinted halved its server count (to 60 nodes), improved search latency by 2.5x and indexing latency by 3x, cut change-visibility time from 300 seconds to 5 seconds, and increased ranking depth more than 3x to 200,000 c…
What tools did this team use?
Vespa, Elasticsearch, Apache Flink, Vespa Kafka Connect, Lucene, HAProxy, Prometheus.
What results were reported?
Server count: cut the number of servers we use in half (down to 60); Search latency improvement: 2.5x; Indexing latency improvement: 3x; Change visibility time: from 300 seconds to 5 seconds (source-reported, not independently verified).
What failed first in this deployment?
The previous Elasticsearch setup required constant shard and replica tuning, generated persistent hot node load imbalances, imposed a 300-second refresh interval, and became operationally unwieldy as data and traffic…
How is this ecommerce ops AI workflow structured?
Real-time item indexing → Search request via Go gateway → HAProxy traffic routing → Custom searcher query construction → ML model inference for ranking → Traffic shadowing to Vespa → A/B relevance validation.