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.
Infino Cloud
Run the same searches against a hosted database, no storage to manage.
SQL Reference
Query and compose search with SQL.
