Table
Data

Query a table

Query table id with vector search, full text search and optional SQL filtering. Returns results in Arrow IPC file or stream format.

REST NAMESPACE ONLY REST namespace returns the response as Arrow IPC file binary data instead of the QueryTableResponse JSON object.

post/v1/table/{id}/query

Path parameters

idstring required

string identifier of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, v1/namespace/$/list performs a ListNamespace on the root namespace.

Query parameters

delimiterstring

An optional delimiter of the string identifier, following the Lance Namespace spec. When not specified, the $ delimiter must be used.

Request body

idstring[]
bypass_vector_indexboolean

Whether to bypass vector index

distance_typestring

Distance metric to use

efinteger

Search effort parameter for HNSW index

fast_searchboolean

Whether to use fast search

filterstring

Optional SQL filter expression

kinteger required

Number of results to return

lower_boundnumber float

Lower bound for search

nprobesinteger

Number of probes for IVF index

offsetinteger

Number of results to skip

prefilterboolean

Whether to apply filtering before vector search

refine_factorinteger

Refine factor for search

upper_boundnumber float

Upper bound for search

vector_columnstring

Name of the vector column to search

versioninteger

Table version to query

with_row_idboolean

If true, return the row id as a column called _rowid

Example request

{
  "ef": 0,
  "offset": 0,
  "columns": {
    "column_aliases": {
      "key": "column_aliases"
    },
    "column_names": [
      "column_names",
      "column_names"
    ]
  },
  "vector_column": "vector_column",
  "fast_search": true,
  "k": 0,
  "upper_bound": 1.2315135,
  "version": 0,
  "with_row_id": true,
  "prefilter": true,
  "filter": "filter",
  "refine_factor": 0,
  "full_text_query": {
    "string_query": {
      "columns": [
        "columns",
        "columns"
      ],
      "query": "query"
    },
    "structured_query": {
      "query": {
        "boolean": {
          "must_not": [
            null,
            null
          ],
          "should": [
            null,
            null
          ],
          "must": [
            null,
            null
          ]
        },
        "phrase": {
          "terms": "terms",
          "column": "column",
          "slop": 0
        },
        "match": {
          "fuzziness": 0,
          "terms": "terms",
          "column": "column",
          "boost": 6.0274563,
          "prefix_length": 0,
          "operator": "operator",
          "max_expansions": 0
        },
        "boost": {
          "negative": null,
          "negative_boost": 7.0614014,
          "positive": null
        },
        "multi_match": {
          "match_queries": [
            {
              "fuzziness": 0,
              "terms": "terms",
              "column": "column",
              "boost": 6.0274563,
              "prefix_length": 0,
              "operator": "operator",
              "max_expansions": 0
            },
            {
              "fuzziness": 0,
              "terms": "terms",
              "column": "column",
              "boost": 6.0274563,
              "prefix_length": 0,
              "operator": "operator",
              "max_expansions": 0
            }
          ]
        }
      }
    }
  },
  "distance_type": "distance_type",
  "lower_bound": 3.6160767,
  "bypass_vector_index": true,
  "nprobes": 0,
  "vector": {
    "single_vector": [
      1.0246457,
      1.0246457
    ],
    "multi_vector": [
      [
        1.4894159,
        1.4894159
      ],
      [
        1.4894159,
        1.4894159
      ]
    ]
  },
  "id": [
    "id",
    "id"
  ]
}

Response

Query results in Arrow IPC file format

Changes