← AI GitHub

AI GitHub

Vespa for custom ranking and retrieval

Build search applications that combine text, vectors and ranking functions.

Data and RetrievalPublished 2 min read

Key Takeaways

  • Vespa applications declare document schemas and ranking profiles.
  • Write the application schema and rank profile with a small corpus.
  • Create an application with text and vector fields, then run the same labeled queries with two ranking profiles.
  • A more complex ranker only helps if retrieval supplies useful candidates.

How it works

Vespa applications declare document schemas and ranking profiles. Retrieval can choose candidates before subsequent ranking stages apply more expensive signals.

What you need

Write the application schema and rank profile with a small corpus. Validate document ingestion and query input types before adding ranking functions that depend on those fields.

What to try first

Create an application with text and vector fields, then run the same labeled queries with two ranking profiles. Keep a record of which stage dropped relevant candidates.

Compare a fixed rank profile on queries with common and rare terms. A feature that helps one class may bury the useful result in the other.

Where to look for failures

A more complex ranker only helps if retrieval supplies useful candidates. Separate recall at the candidate stage from final ranking metrics.

Related Franklin pages

Start with a labeled query set and save each engine's candidates. Compare filtered search and ranking behavior before extrapolating throughput from a query without metadata constraints.

For the role of the index in nearest-neighbor search, see Franklin’s glossary. Vector indexes

Project documentation

Try it for your workflow

Explore the project’s documentation for setup and usage, or save this page to a collection for later.

Read the project documentation ↗