Skip to content
MCP server built inHow that works
Back to the platform overview

Semantics & search

Hybrid search with a local model, metrics with one definition

Semantic search is treated as a cloud feature because embedding needs an API key. In lavalake the model runs locally on CPU — so search works on a network with no route out.

Search modes
vector, keyword, hybrid
Embedding model
nomic-embed-text, local
Index
PostgreSQL with pgvector
Authoritative
Trino, not the index

Two searches, one ranking

Keyword search finds what is literally there — and misses everything phrased differently. Vector search finds meaning — and sometimes misses the exact part number somebody was actually looking for. Either one alone is unsatisfying, so the results are fused into a single ranking.

Console · Search
Search  "framework agreement notice period supplier"

  Mode    vector + keyword, fused
  Model   nomic-embed-text  (local, CPU, no key)

  1  contracts/framework_2024.pdf   section 4.2
  2  lakehouse.raw.contracts        row 8817
  3  wiki/procurement.md            section "Notice periods"

The index is only an index

This is where search features in data platforms usually defeat governance. If the vector store holds the content itself, you have a second body of data with its own access control — and the second control knows nothing about the first one's policies.

In lavalake the vector index only remembers which columns are key and text. The hit is then re-fetched from Trino under the searcher's token. Someone who may not see a row does not get it as a search result either; a masked column stays masked.

A search index that holds content is a second body of data. A search index that only points at where something is, is not.

Metrics with exactly one definition

The semantic layer carries curated metrics and multi-table semantic views. The point is not convenience but unambiguity: “revenue” is defined once, and the dashboard tile, the search and the AI agent all compute with that definition.

The assistant may propose and create metrics — with a confirmation and an audit entry. That lets the semantic model grow out of the data you already have, instead of waiting for somebody to find time for a definition workshop.

Queries and dashboards

Alongside search there are the ordinary tools: a data browser from catalog through schema to table, and a SQL worksheet that sends Trino SQL against Iceberg. Results can be placed on a dashboard as a tile.

One thing matters here: a tile stores the query, not the result. It computes for each viewer under that viewer's identity. Two people can open the same dashboard and see different numbers — and that is correct when their permissions differ.

  • Data browser with a jump to lineage per table
  • SQL worksheet over Trino, under your identity
  • Dashboards from queries and metrics
  • Tiles compute per viewer, not per author
  • Incremental materialization for expensive queriesIn development
  • Alerting and scheduled reportsIn development

See it instead of reading about it

In half an hour we walk through the platform against your questions — ingestion, permissions, search, agent. No slides.

Book a live demo