/fashion/. Group-by columns become nested folders, each
row becomes a card plus an optional blob file, and semantic search is the
search CLI, which returns ranked rows as canonical file paths.
For connection setup (LanceDB OSS, object storage, Cloud, Enterprise), see
LanceDB Setup.
Install the extra:
Config
group_by at different columns and the folder tree changes.
Fields marked secret are redacted in snapshots.
VFS.md
The VFS.md an agent reads with LanceDB mounted at/<path>.
- Rendered
- Raw
WHERE clause; the leaf level lists rows.
/ renders as ∕, and a blank or dot-led value is led
by ⁄, so every value keeps its own directory that lists and opens, and
descending into it filters for exactly that value.
When table is set the table level is elided, so the mount root is that table:
Row cards
A<id>.md card renders the row’s columns as readable text and points at its
blob. The vector and blob columns are omitted from the card body.
Semantic search
Search is thesearch CLI, not a path. Register it on the
workspace:
<id>.md you would cat while browsing) annotated with
the vector distance, followed by the card body. Results point back at the real
files, so search composes with cat, pipes, and wc:
--top-k <n> (default search_limit), --threshold <max-distance>,
--method semantic (the only supported method; grep/rg stay lexical).
Integration
What LanceDB answers through its own API, so fewer files are read. Integration explains each command.Supported commands
All commands delegate to Mirage’s shared implementations.grep/rg stay lexical (literal/regex). The search CLI is the semantic path: it
auto-embeds the query via the table’s embedding function and returns ranked
rows as canonical file paths, which compose with cat, wc, and pipes.
grep -r and rg read only the cards whose string columns hold the text, which
a LIKE query answers. A text that could match a column’s name, a boolean or
null, or the column: prefix reads every card, as does a table that renders
a list, struct or bytes column.
Access pattern
The mount is read-only (MountMode.READ); writes are not supported. The two
read modes are:
- Browse by label folders: pure metadata
WHEREfilters, no embedding. - Search by meaning: the
searchCLI’ssearch "<query>" <path>runs vector search using the table’s embedding function and returns canonical row paths.
SELECT DISTINCT and are capped by
max_rows, so very large tables should keep group_by to low-cardinality
columns.