A valid request URL is required to generate request examples"<string>"{
"type": "/errors/bad-request",
"title": "Malformed request",
"status": 400,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/unauthorized-request",
"title": "No valid authentication credentials for the operation",
"status": 401,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/forbidden-request",
"title": "Not authorized to make this request",
"status": 403,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/not-found-error",
"title": "Not found Error",
"status": 404,
"detail": "",
"instance": "/v1/namespaces/{ns}"
}{
"type": "/errors/service-unavailable",
"title": "Slow down",
"status": 503,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/server-error",
"title": "Internal Server Error",
"status": 500,
"detail": "",
"instance": "/v1/namespaces"
}Analyze query execution plan
Analyze the query execution plan for a query against table id.
Returns detailed statistics and analysis of the query execution plan.
REST NAMESPACE ONLY
REST namespace returns the response as a plain string
instead of the AnalyzeTableQueryPlanResponse JSON object.
curl --request POST \
--url {scheme}://{host}:{port}/{basePath}/v1/table/{id}/analyze_plan \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"k": 1,
"vector": {
"single_vector": [
123
],
"multi_vector": [
[
123
]
]
},
"identity": {
"api_key": "<string>",
"auth_token": "<string>"
},
"context": {},
"id": [
"<string>"
],
"branch": "<string>",
"bypass_vector_index": true,
"columns": {
"column_names": [
"<string>"
],
"column_aliases": {}
},
"distance_type": "<string>",
"ef": 1,
"fast_search": true,
"filter": "<string>",
"full_text_query": {},
"lower_bound": 123,
"nprobes": 1,
"offset": 1,
"prefilter": true,
"refine_factor": 1,
"upper_bound": 123,
"vector_column": "<string>",
"version": 1,
"with_row_id": true
}
'import requests
url = "{scheme}://{host}:{port}/{basePath}/v1/table/{id}/analyze_plan"
payload = {
"k": 1,
"vector": {
"single_vector": [123],
"multi_vector": [[123]]
},
"identity": {
"api_key": "<string>",
"auth_token": "<string>"
},
"context": {},
"id": ["<string>"],
"branch": "<string>",
"bypass_vector_index": True,
"columns": {
"column_names": ["<string>"],
"column_aliases": {}
},
"distance_type": "<string>",
"ef": 1,
"fast_search": True,
"filter": "<string>",
"full_text_query": {},
"lower_bound": 123,
"nprobes": 1,
"offset": 1,
"prefilter": True,
"refine_factor": 1,
"upper_bound": 123,
"vector_column": "<string>",
"version": 1,
"with_row_id": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
k: 1,
vector: {single_vector: [123], multi_vector: [[123]]},
identity: {api_key: '<string>', auth_token: '<string>'},
context: {},
id: ['<string>'],
branch: '<string>',
bypass_vector_index: true,
columns: {column_names: ['<string>'], column_aliases: {}},
distance_type: '<string>',
ef: 1,
fast_search: true,
filter: '<string>',
full_text_query: {},
lower_bound: 123,
nprobes: 1,
offset: 1,
prefilter: true,
refine_factor: 1,
upper_bound: 123,
vector_column: '<string>',
version: 1,
with_row_id: true
})
};
fetch('{scheme}://{host}:{port}/{basePath}/v1/table/{id}/analyze_plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "{scheme}://{host}:{port}/{basePath}/v1/table/{id}/analyze_plan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'k' => 1,
'vector' => [
'single_vector' => [
123
],
'multi_vector' => [
[
123
]
]
],
'identity' => [
'api_key' => '<string>',
'auth_token' => '<string>'
],
'context' => [
],
'id' => [
'<string>'
],
'branch' => '<string>',
'bypass_vector_index' => true,
'columns' => [
'column_names' => [
'<string>'
],
'column_aliases' => [
]
],
'distance_type' => '<string>',
'ef' => 1,
'fast_search' => true,
'filter' => '<string>',
'full_text_query' => [
],
'lower_bound' => 123,
'nprobes' => 1,
'offset' => 1,
'prefilter' => true,
'refine_factor' => 1,
'upper_bound' => 123,
'vector_column' => '<string>',
'version' => 1,
'with_row_id' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{scheme}://{host}:{port}/{basePath}/v1/table/{id}/analyze_plan"
payload := strings.NewReader("{\n \"k\": 1,\n \"vector\": {\n \"single_vector\": [\n 123\n ],\n \"multi_vector\": [\n [\n 123\n ]\n ]\n },\n \"identity\": {\n \"api_key\": \"<string>\",\n \"auth_token\": \"<string>\"\n },\n \"context\": {},\n \"id\": [\n \"<string>\"\n ],\n \"branch\": \"<string>\",\n \"bypass_vector_index\": true,\n \"columns\": {\n \"column_names\": [\n \"<string>\"\n ],\n \"column_aliases\": {}\n },\n \"distance_type\": \"<string>\",\n \"ef\": 1,\n \"fast_search\": true,\n \"filter\": \"<string>\",\n \"full_text_query\": {},\n \"lower_bound\": 123,\n \"nprobes\": 1,\n \"offset\": 1,\n \"prefilter\": true,\n \"refine_factor\": 1,\n \"upper_bound\": 123,\n \"vector_column\": \"<string>\",\n \"version\": 1,\n \"with_row_id\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("{scheme}://{host}:{port}/{basePath}/v1/table/{id}/analyze_plan")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"k\": 1,\n \"vector\": {\n \"single_vector\": [\n 123\n ],\n \"multi_vector\": [\n [\n 123\n ]\n ]\n },\n \"identity\": {\n \"api_key\": \"<string>\",\n \"auth_token\": \"<string>\"\n },\n \"context\": {},\n \"id\": [\n \"<string>\"\n ],\n \"branch\": \"<string>\",\n \"bypass_vector_index\": true,\n \"columns\": {\n \"column_names\": [\n \"<string>\"\n ],\n \"column_aliases\": {}\n },\n \"distance_type\": \"<string>\",\n \"ef\": 1,\n \"fast_search\": true,\n \"filter\": \"<string>\",\n \"full_text_query\": {},\n \"lower_bound\": 123,\n \"nprobes\": 1,\n \"offset\": 1,\n \"prefilter\": true,\n \"refine_factor\": 1,\n \"upper_bound\": 123,\n \"vector_column\": \"<string>\",\n \"version\": 1,\n \"with_row_id\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("{scheme}://{host}:{port}/{basePath}/v1/table/{id}/analyze_plan")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"k\": 1,\n \"vector\": {\n \"single_vector\": [\n 123\n ],\n \"multi_vector\": [\n [\n 123\n ]\n ]\n },\n \"identity\": {\n \"api_key\": \"<string>\",\n \"auth_token\": \"<string>\"\n },\n \"context\": {},\n \"id\": [\n \"<string>\"\n ],\n \"branch\": \"<string>\",\n \"bypass_vector_index\": true,\n \"columns\": {\n \"column_names\": [\n \"<string>\"\n ],\n \"column_aliases\": {}\n },\n \"distance_type\": \"<string>\",\n \"ef\": 1,\n \"fast_search\": true,\n \"filter\": \"<string>\",\n \"full_text_query\": {},\n \"lower_bound\": 123,\n \"nprobes\": 1,\n \"offset\": 1,\n \"prefilter\": true,\n \"refine_factor\": 1,\n \"upper_bound\": 123,\n \"vector_column\": \"<string>\",\n \"version\": 1,\n \"with_row_id\": true\n}"
response = http.request(request)
puts response.read_body"<string>"{
"type": "/errors/bad-request",
"title": "Malformed request",
"status": 400,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/unauthorized-request",
"title": "No valid authentication credentials for the operation",
"status": 401,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/forbidden-request",
"title": "Not authorized to make this request",
"status": 403,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/not-found-error",
"title": "Not found Error",
"status": 404,
"detail": "",
"instance": "/v1/namespaces/{ns}"
}{
"type": "/errors/service-unavailable",
"title": "Slow down",
"status": 503,
"detail": "",
"instance": "/v1/namespaces"
}{
"type": "/errors/server-error",
"title": "Internal Server Error",
"status": 500,
"detail": "",
"instance": "/v1/namespaces"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
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
An optional delimiter of the string identifier, following the Lance Namespace spec.
When not specified, the $ delimiter must be used.
Body
Number of results to return
x >= 0Query vector(s) for similarity search. Provide either single_vector or multi_vector, not both.
Show child attributes
Show child attributes
Identity information of a request.
Show child attributes
Show child attributes
Arbitrary context as key-value pairs. How to use the context is custom to the specific implementation.
On a request, it carries caller-provided context to the implementation. On a response, it carries implementation-provided context back to the caller.
REST NAMESPACE ONLY
Context entries are mapped to and from HTTP headers using the header. prefix:
- On a request, any entry whose key starts with
header.is sent as an HTTP request header with the prefix stripped. For example, the entry{"header.Authorization": "Bearer abc"}is sent as the request headerAuthorization: Bearer abc. - On a response, every HTTP response header is returned as an entry whose key is the
header name prefixed with
header.. For example, the response headerx-request-id: abc123is returned as the entry{"header.x-request-id": "abc123"}.
Show child attributes
Show child attributes
Branch to target. When not specified, the main branch is used.
Whether to bypass vector index
Optional field paths to return. Provide either column_names or column_aliases, not both.
Show child attributes
Show child attributes
Distance metric to use
Search effort parameter for HNSW index
x >= 0Whether to use fast search
Optional SQL filter expression. Field references in the expression must use Lance field path syntax: nested fields use dot-separated segments, literal dots require backtick-quoted segments, and backticks inside quoted segments are doubled.
Optional full-text search query. Provide either string_query or structured_query, not both.
Show child attributes
Show child attributes
Lower bound for search
Number of probes for IVF index
x >= 0Number of results to skip
x >= 0Whether to apply filtering before vector search
Refine factor for search
x >= 0Upper bound for search
Lance field path of the vector field to search. Nested fields use dot-separated segments; use backtick-quoted segments for literal dots and double backticks inside quoted segments. Use canonical full paths for display and errors; leaf names alone only identify top-level fields; invalid or unresolved paths should return InvalidInput or TableColumnNotFound.
1Table version to query
x >= 0If true, return the row id as a column called _rowid
Response
Query execution plan analysis
Human-readable query execution plan analysis
Was this page helpful?