Use this file to discover all available pages before exploring further.
The Search API provides two ways to store and retrieve text:
Text Store — preconfigured vector storage with hybrid search, deduplication, and grouping. No schema or index setup required.
Tables — low-level access to the vector database with full control over schema, indices, filters, and search operations.
Start with Text Store for most use cases.
Use Tables when you need custom schemas, explicit index management, or advanced filter expressions.If you need an external-facing example that shows GraphRAG outperforming flat retrieval on a defined benchmark, see GraphRAG evaluation.
Add texts with their pre-computed embedding vectors.
Duplicate texts are automatically skipped.
The group field tags entries so you can delete or retrieve them as a set later.
mka1 search text-store add-texts \ --store-name product_catalog \ --body '{ "texts": [ "Noise-cancelling over-ear headphones with 30-hour battery.", "Compact wireless earbuds with active noise cancellation.", "Studio monitor headphones with flat frequency response." ], "vectors": [ [0.16, -0.08, 0.29], [0.14, -0.06, 0.31], [0.09, -0.12, 0.22] ], "group": "headphones" }'
Tables give you direct access to the underlying vector database.
You define the schema, choose which fields to index, insert structured rows, and compose search operations yourself.
Each field in a table schema has a name, type, and optional properties.
Type
Description
Index support
string
Text data
FTS (full-text search)
int
32-bit integer
BTREE, BITMAP, LABEL_LIST
float
64-bit floating point
BTREE, BITMAP, LABEL_LIST
datetime
Timestamp with optional timezone
BTREE
vector
Fixed-dimension embedding
IVF_FLAT, IVF_PQ, IVF_HNSW_PQ, IVF_HNSW_SQ
list
List of strings, ints, or floats
—
Set nullable to false for required fields.
Add "index": "FTS" on a string field to enable full-text search at creation time.
Vector fields require a dimensions property that matches your embedding size.
Define a table with a schema that describes your records.
The example below creates a support knowledge base with a text field indexed for full-text search and a vector field for semantic search.
Table search lets you compose multiple operations in a single request.
Operations run in order — start with a primary search, then refine with filters, limits, or offsets.Primary operations initialize the result set:
Operation
Description
vector_search
Find rows closest to a query vector. Supports cosine, l2, dot, and hamming distance types.
fts
Full-text keyword search on one or more string fields.
Secondary operations refine the results:
Operation
Description
filter
Apply a SQL-like expression. Set prefilter to true to filter before ranking.
limit
Cap the number of returned rows.
offset
Skip the first N rows for pagination.
Use returnColumns to control which fields come back in the response.