SDK
Python, Node, or Rust — the walkthrough on this page.
CLI
Create, ingest, and search from the terminal or a coding agent — no code.
MCP server
Expose these searches as tools to an AI agent (Claude, Cursor, …).
1
Install
Node: the examples are ESM
Node: the examples are ESM
The Node examples below use
import, so the file has to be a module. npm init -y
writes "type": "commonjs", and running an import under that fails with
Cannot use import statement outside a module. Either add "type": "module" to
your package.json or save the file as .mjs.Rust: Arrow types and allocator
Rust: Arrow types and allocator
Infino re-exports the Arrow crates it uses, so you don’t add them separately or match
versions — reach them as
infino::arrow_array and infino::arrow_schema (as the examples
below do). update / delete take DataFusion predicates (col, lit); if you use them,
add datafusion-expr matching Infino’s DataFusion version (cargo tree -p 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 = { default-features = false }.2
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. To run the same walkthrough against the hosted service, point it
at "https://<host>/<database>" and pass an API key: see the
Infino Cloud quickstart. Everything after the connect line is the
same either way.3
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.
4
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.5
Search it
Now the part you came for. The same table answers every kind of query: keyword,
meaning, hybrid, and SQL.Each search returns rows carrying the projected
body. With this tiny corpus you get:Expected output
keyword matched the BM25 terms; semantic ranks the billing notes first; hybrid
fuses the two rankings, so the exact keyword match leads while the semantically close
note follows; 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.
