Farfetch has written a blog post explaining how they use Vespa to scale online recommendations in their
e-commerce platform:
One of our major challenges is to do it without increasing our infrastructure indefinitely.
To tackle this scalability challenge, we choose to use a vector database and Vespa matches
our necessity because of all the available features:
- Tensor Operations: Dense and sparse vector operations (e.g. map, reduce, slice, etc.).
- Complex Ranking: Compute different signals (e.g. bm25, dot-product, cosine, etc.) and use them freely to rank document matches.
- Keyword Search: You can use Vespa like Elasticsearch.
- LTR: Native model service that can be used for ranking (e.g. LTR).
- Filtering: Pre and post-filtering that you can tune to fit your use cases.
- Performance: C++ code optimised to use SIMD operations when possible.
With this, we intend to serve all recommendations for all platforms using Vespa and have no scalability issues when a new online retailer joins our services.
The full post goes on to provide a great explanation of how to leverage Vespa’s support for
dense and sparse tensors in combination with
vector search
to do the large matrix multiplications typical of recommenders without storing large vectors on documents, while also
keeping latency below 100 ms. Read it at Farfetch’s blog.