Install
Rust: companion crates and allocator
Rust: companion crates and allocator
The Rust examples build Arrow data, and Run
update / delete take DataFusion predicates
(col, lit), so add these alongside infino, matching the Arrow and DataFusion
versions Infino uses (Arrow 53 and DataFusion 53 for infino 0.1.x):cargo tree -p infino to check the versions if you are on a newer Infino.Infino also installs the mimalloc global
allocator by default. If you embed it in a process that already sets a global allocator,
turn it off: infino = { version = "0.1", default-features = false }.Connect
First, open a connection.
"memory://" keeps everything in memory for this
walkthrough; point it at "./data" or an "s3://bucket/prefix" URI when you want your
data to stick around.Create a table
Now create a table. You give it a schema and say which columns to index: a full-text
index on the text, and a vector index on the embedding.
Add data
Let’s add a few notes. The
embed helper stands in for a real embedding model so the
example runs on its own. It’s a 16-dim one-hot by topic (0 = billing, 1 =
appearance). Your own embeddings will be dense and higher-dimensional; see
Embeddings.Search it
Now the part you came for. The same table answers all three kinds of query: keyword,
meaning, and SQL.Each search returns Arrow rows. With this tiny corpus, the
body of the rows you get
back looks like this:Expected output
keyword matched the BM25 terms; semantic ranks the billing notes first; filtered
keeps only the note whose text matches billing; sql returns the two help-center
rows. From here, feed the retrieved passages to your model as grounding context.Next steps
Core concepts
The mental model: one Parquet copy, indexed and queried four ways.
Guides
Tables, embeddings, indexing, search, and storage.
Integrations
LangChain, Vercel AI SDK, CrewAI, and MCP.
SQL Reference
Query and compose search with SQL.
