Vespa Newsletter, June 2022
In the previous update, we mentioned tensor formats, grouping improvements, new query guides, modular rank profiles and pyvespa docker image and deployments. Today, we’re excited to share the following updates:
Pre/Post ANN filtering support
Approximate Nearest Neighbor is a popular feature in Vector Search applications, also supported in Vespa. Vespa has integral support for combining ANN search with filters, like “similar articles to this, in US market, not older than 14 days”. From Vespa 7.586.113, users can configure whether to use pre- or post-filtering, with thresholds. This enables a much better toolset to trade off precision with performance, i.e. balance cost and quality. Read more in constrained-approximate-nearest-neighbor-search.
Thanks to alexeyche, Vespa supports fuzzy query matching since 7.585 – a user typing “spageti” will now match documents with “spaghetti”. This is implemented using Levenshtein edit distance search – e.g. one must make two “edits” (one-character changes) to make “spaghetti” from “spageti”. Find the full contribution in #21689 and documentation at query-language-reference.html#fuzzy.
pyvespa 0.22 introduces an experimental ranking module to support learning to rank tasks that can be applied to data collected from Vespa applications containing ranking features. It starts by creating a listwise ranking framework based on TensorFlow Ranking that covers data pipelines, fitting models and feature selection algorithms.
A common technique in modern big data serving applications is to map the subject data – say, text or images – to points in an abstract vector space and then do computation in that vector space. For example, retrieve similar data by finding nearby points in the vector space, or using the vectors as input to a neural net. This mapping is usually referred to as embedding – read more about Vespa’s built-in support.
Tensors and ranking
fast-rank enables ranking expression evaluation without de-serialization, to decrease latency, on the expense of more memory used. Supported for tensor field types with at least one mapped dimension.
Support for importing onnx models in rank profiles is added.
Blog posts and training videos
Find great Vespa blog posts on constrained ANN-search, hybrid billion scale vector search, and Lester Solbakken + Jo Kristian Bergum at the Berlin Buzzwords conference – follow Jo Kristian for industry leading commentary.
New training videos for Vespa startup troubleshooting and auto document redistribution are available at vespa.ai/resources: