Skip to content

Protobuf API reference0.1.0

Messages, fields, enums, and services shared by Luxir’s HTTP and gRPC APIs. See the gRPC guide for client generation and streaming, and HTTP JSON mappings for the HTTP shorthands.

Field descriptions come from the protobuf source comments. optional marks explicit field presence; oneof members share a single choice. Application defaults and constraints are described in the comments and guides.

Source

Method Request Response Description
SetSchema SchemaRequest SchemaResponse
GetSchema SchemaRequest SchemaResponse
CreateCollection CreateCollectionRequest CreateCollectionResponse
DeleteCollection DeleteCollectionRequest DeleteCollectionResponse
Stats StatsRequest StatsResponse
CacheControl CacheControlRequest CacheControlResponse

Source

Method Request Response Description
Update UpdateRequest UpdateResponse Index or delete documents, with an optional commit.
UpdateStream stream UpdateRequest stream UpdateResponse One response per request; request_id correlates responses with requests.

Source

Method Request Response Description
Search stream SearchRequest stream SearchResponse Each request produces one or more responses, ending with more=false. Use request_id to correlate responses when sending multiple requests.

One analysis-chain component - a tokenizer or a token filter - named by its registry name, plus its parameters. params values are typed JSON values (string, number, bool, string list), e.g. {“possessive”: false} for kstem. A component that takes no parameters rejects any. The JSON dialect accepts a bare string for a parameterless component: “lowercase” == {“name”: “lowercase”}.

Source

Field Number Type Cardinality / group Description
name 1 string singular e.g., “unicode_word”, “nfkc_cf”
params 2 map<string, Val> map

Source

Field Number Type Cardinality / group Description
tokenizer 1 AnalyzerComponent singular “whitespace” (default when absent), “keyword”, “unicode_word”
filters 2 AnalyzerComponent repeated applied in order, e.g., [“nfkc_cf”, “fold”]

Constant-score exact value-set membership using the field’s value binding. TEXT values are analyzed: zero tokens contribute nothing, one token is accepted, and multiple tokens are an error. STRING values use the field’s normalizer; ID values remain verbatim before applying long_terms. Numeric and DATE values use the same scalar coercion as ingest.

Source

Field Number Type Cardinality / group Description
field 1 string singular
values 2 Val singular Required scalar or array of scalars. Null and nested arrays are errors. An empty array matches nothing; duplicate values are ignored.

Source

Field Number Type Cardinality / group Description
v 1 ArrDouble repeated

Source

Field Number Type Cardinality / group Description
v 1 ArrFloat repeated

Source

Field Number Type Cardinality / group Description
v 1 ArrInt repeated

One array per document, used in columns for multi-valued string fields.

Source

Field Number Type Cardinality / group Description
v 1 ArrStr repeated

Source

Field Number Type Cardinality / group Description
v 1 bytes repeated

Source

Field Number Type Cardinality / group Description
v 1 double repeated

Source

Field Number Type Cardinality / group Description
v 1 float repeated

Source

Field Number Type Cardinality / group Description
v 1 sint64 repeated

Source

Field Number Type Cardinality / group Description
v 1 string repeated

Source

Field Number Type Cardinality / group Description
v 1 Val repeated Repeated field of dynamically typed values.

A list of vectors, used as a per-doc cell for multi-valued vector fields.

Source

Field Number Type Cardinality / group Description
v 1 Vector repeated

Source

Field Number Type Cardinality / group Description
kind 1 string singular
field 2 string singular
name 3 string singular
gen 4 string singular sortable-string spelling as embedded in the files’ names (see SegmentStats)
commit_time 5 uint64 singular microseconds since the Unix epoch
built_core_gen 6 uint64 singular
files 7 string repeated
bytes 8 uint64 singular bytes of this entry’s files; informational, already counted under its segment

Source

Field Number Type Cardinality / group Description
filter 1 Query repeated required clauses that do not add to the score
required 2 Query repeated required clauses that do add to the score
optional 3 Query repeated optional clauses that add to the score
prohibited 4 Query repeated prohibited clauses that must not match
min_match 5 int32 singular Minimum number of optional clauses that must match. Unset (0): with any required or filter clause present, optional clauses only rank coincident matches; with only optional clauses, at least one must match. Setting min_match >= 1 makes the optional group a real constraint alongside required/filter clauses; values above the clause count mean all of them.

Source

Field Number Type Cardinality / group Description
query 1 Query singular
boost 2 float optional Score multiplier. Unset = 1.0; 0 preserves matches with zero scores. Must be finite and >= 0.

Admin control over the per-collection query cache. Actions compose and apply in this order: flush, reset_admission, reset_counters, then dump. flush drops resident values and entry metadata; sighting history survives, so a known query can be readmitted and rebuilt immediately. flush + reset_admission also forgets sightings, restarting admission tracking. reset_counters zeroes the cumulative stats. An empty collection targets every collection.

Source

Field Number Type Cardinality / group Description
collection 1 string singular empty selects every collection
flush 2 bool singular
reset_admission 3 bool singular
reset_counters 4 bool singular
dump 5 bool singular
dump_limit 6 uint32 singular max dump rows per shard; 0 = 100

Source

Field Number Type Cardinality / group Description
collections 1 CollectionCacheControl repeated

One resident cache entry. key_text is the printable-byte extraction from the serialized key (field names and terms survive; structure bytes do not); key_hash is a diagnostic fingerprint. bytes counts resident value payloads; segments_resident counts slots currently holding a value; reader_value marks a whole-reader live-exact value.

Source

Field Number Type Cardinality / group Description
key_hash 1 uint64 singular
key_bytes 2 uint32 singular
key_text 3 string singular
scope 4 string singular SEGMENT_STABLE | CORE_STABLE | READER_STABLE
reader_value 5 bool singular
bytes 6 uint64 singular
segments_resident 7 uint32 singular
hits 8 uint64 singular
last_used_epoch 9 uint64 singular

Source

Field Number Type Cardinality / group Description
n 1 int32 singular number of civil units per bucket; must be positive
unit 2 CalendarGap.Unit singular

Source

Field Number Type Cardinality / group Description
missing_val 1 double singular See ColFloat.missing_val.
v 2 double repeated

Source

Field Number Type Cardinality / group Description
missing_val 1 float singular Chosen per batch like ColInt.missing_val (the check is exact). Never NaN (it compares unequal to itself); +0.0/-0.0 are treated as one value when choosing.
v 2 float repeated

Source

Field Number Type Cardinality / group Description
missing_val 1 sint64 singular Sentinel for documents without a value. Chosen per column per batch so it never equals a present value: v[i] == missing_val means missing. HTTP JSON represents missing values as null.
v 2 sint64 repeated

Source

Field Number Type Cardinality / group Description
missing_val 1 string singular “” unless a real empty string occurs in the batch, in which case a string greater than every batch value is used (see the ColInt.missing_val sentinel note; the check is exact).
v 2 string repeated

Single-valued vector column. Each Vector slot is independently nullable via its empty oneof - no separate missing_val needed.

Source

Field Number Type Cardinality / group Description
v 1 Vector repeated

Source

Field Number Type Cardinality / group Description
name 1 string singular
shards 2 ShardCacheControl repeated
error 3 Error singular as CollectionStats.error

Source

Field Number Type Cardinality / group Description
name 1 string singular
totals 2 StatsTotals singular
schema_gen 3 string singular sortable-string spelling (see SegmentStats); empty = no schema
shards 4 ShardStats repeated
error 5 Error singular Set for a collection that is not serving (failed to load, or a delete failed partway); kind is UNAVAILABLE and the message is the recorded reason.

One slot per document, including missing values, aligned with DocList rows. Scalar columns use missing_val; multi-valued columns use empty arrays. Vector columns use the missing-value rules described on their fields.

Source

oneof kind: at most one member can be set.

Field Number Type Cardinality / group Description
col_s 1 ColStr oneof kind
col_i 2 ColInt oneof kind
col_f 3 ColFloat oneof kind
col_d 4 ColDouble oneof kind
multi_s 5 ArrArrStr oneof kind
multi_i 6 ArrArrInt oneof kind
multi_f 7 ArrArrFloat oneof kind
multi_d 8 ArrArrDouble oneof kind
col_vec 16 ColVector oneof kind single-valued vector column: one Vector per doc; missing = unset oneof
multi_vec 17 MultiVector oneof kind multi-valued vector column: one ArrVector per doc; missing = empty list

Parameters governing how a commit is performed. Presence of this message in an UpdateRequest indicates the request should commit; absence means no commit.

Source

Field Number Type Cardinality / group Description
commit_within_ms 1 uint64 singular Commit deadline in milliseconds. 0 (default) commits before responding; a positive value schedules a deferred commit and responds without waiting. Deferred requests coalesce at the earliest outstanding deadline. An explicit commit also satisfies outstanding deadlines. max_segments, build_aux_indexes, or wait_for_merges force an immediate commit instead. Search visibility also depends on SearchRequest.freshness_ms.
build_aux_indexes 2 string repeated Build missing aux overlays as part of this commit. An overlay already present on a segment is retained rather than rebuilt. [] - request no aux builds [“*”] - build every eligible missing vector overlay [“vec.title_v”] - build the missing vector overlay for title_v Only “*” and exact overlay names are supported; no partial-name patterns.
wait_for_merges 3 bool singular If true, this commit will wait for any in-flight merges to finish before publishing.
max_segments 4 uint32 singular Merge down so the data visible at this commit resides in at most this many segments. 0 (default) = no forced merging. The response is not sent until the merged index is durably published: at return, everything this commit made visible lives in <= max_segments segments (concurrent ingestion after this commit may add new segments; they are not covered by the promise). The response waits for the merged layout even when commit_within_ms is positive.

Source

Field Number Type Cardinality / group Description
query 1 Query singular
score 2 float optional Score assigned to every match. Unset = 1.0; an explicit 0.0 is preserved.

Source

Field Number Type Cardinality / group Description
name 1 string singular
schema 2 SchemaDef singular

Source

Field Number Type Cardinality / group Description
name 1 string singular

Source

Field Number Type Cardinality / group Description
name 1 string singular

Source

Field Number Type Cardinality / group Description
name 1 string singular

A batch of returned documents. Document i is the merge of columns row i and docs[i]; all-columns (docs absent) and all-docs (columns empty) are just the degenerate cases. Which fields land where is a function of the request (see DocFormat), never of the data.

Source

Field Number Type Cardinality / group Description
found 1 sint64 optional Exact match count when get_number was requested. For Fusion, counts distinct documents in the union of source ranked lists, before paging.
columns 3 map<string, Column> map Dense columns; each has exactly row_count slots.
docs 5 Map repeated Per-document field maps. When present: exactly row_count entries; docs[i] holds the fields of document i not represented as a dense column. A field name never appears in both columns and docs[i].
row_count 6 int32 singular Number of documents in this batch, including rows with no returned fields. A count-only response has row_count=0.
offset 4 int64 singular
ops 14 map<string, Val> map sub-operation results performed on the TopDocs query.
more 15 bool singular true if this document list has more batches; see SearchResponse.more

Overrides the incoming document set for an operation directly in SearchRequest.ops or TopDocs.ops. Not supported directly in Fusion.ops or beneath facet buckets.

Source

Field Number Type Cardinality / group Description
query 2 Query singular If present, replaces the incoming domain with this query’s matches across the collection. If absent, inherits the incoming domain.
apply_parent_filters 3 bool optional With query set, reapply the immediate parent’s filters, including facet selections, while respecting except_ops. Default false discards them. Requires query; does not restore the parent’s query or ancestor domain.
filter 5 Query repeated Additional non-scoring constraints, ANDed with the inherited or reset domain. Entries and query must each specify a query kind.

A failure. The same shape everywhere an error appears: SearchResponse.error, UpdateResponse.error and its per-document errors, the HTTP error body, and gRPC status details. kind is the coarse class: it selects the HTTP status and gRPC status code, and tells a client whether to fix the request, the target, or retry, without knowing the code. code is the stable machine key (snake_case, like Warning.code); new codes appear under existing kinds without changing this shape. message is human detail, not a contract.

Source

Field Number Type Cardinality / group Description
kind 1 Error.Kind singular
code 2 string singular
message 3 string singular

Execution details for instrumented operations. STRING/ID field facets provide profiles; other operations may be absent from this list.

Source

Field Number Type Cardinality / group Description
ops 1 ExecutionProfileOp repeated

Source

Field Number Type Cardinality / group Description
name 1 string singular
pieces 2 ExecutionProfilePiece repeated

Execution details for one segment of an operation.

Source

Field Number Type Cardinality / group Description
kind 1 string singular “segment”
segment 2 int32 singular
max_doc 3 int32 singular
strategy 4 string singular
cardinality 5 sint64 optional
domain_size 6 sint64 optional
thread_id 7 int64 singular
elapsed_us 8 uint64 singular
details 9 string repeated Human-readable execution notes. Contents and formatting may change; do not parse these entries.

Source

Field Number Type Cardinality / group Description
field 1 string singular

An expression aggregate over the operation’s incoming document domain. The operation name is the key in the enclosing ops map.

Source

Field Number Type Cardinality / group Description
expr 1 string singular
vars 2 map<string, Val> map

An expression in the Luxir query language, with strict syntax and precise parse errors. Raw search-box input can use SimpleQuery. Expressions have structured Query equivalents and use the same field analysis rules.

Syntax summary: field:value, field:“a phrase” (or ‘…’), field:(grouped boolean scope), AND / OR / NOT with real precedence (NOT > AND > OR), +required / -prohibited prefixes (may not mix with AND/OR at one level), ranges field:[a TO b] / {a TO b} and comparisons field:>=v, trailing * for prefix, term~N for fuzzy (bare ~ = auto), *:* matches everything, and the function form name(main value, arg=value, …) reaching the callable query types by their JSON names (kNN and geo queries require structured messages). $name references a value bound in `vars`. Unfielded bare words are a parse error.

Source

Field Number Type Cardinality / group Description
q 1 string singular the expression
vars 2 map<string, Val> map Values referenced from the expression as $name. Bound as VALUES (never re-parsed as syntax), so end-user input is safe to pass through: {“q”: “simple_query($input, fields=[title])”, “vars”: {“input”: …}}.

Source

Field Number Type Cardinality / group Description
bucket_ids 2 Column singular
counts 3 int64 repeated
missing 4 int64 optional the number of documents that do not have this field
ops 22 map<string, Val> map sub-operation results performed per bucket, like a sub-facet or statistics.
offset 6 int64 singular

A field, template, or variant definition, named by its enclosing map key. Unset properties inherit from parent, then use type defaults, except as documented on individual properties. HTTP JSON enum values are lowercase.

Source

Field Number Type Cardinality / group Description
parent 1 string singular inherit properties from this field or template
type 2 FieldDef.FieldClass optional required unless inherited from parent
index 3 FieldDef.IndexMode optional Unset inherits, falling back to MATCH for STRING/TEXT/ID and NONE for other types. Other type/mode combinations are rejected.
column 4 bool optional store values in a per-field column
multi 5 bool optional multi-valued
analyzer 6 AnalyzerDef singular TEXT only. Unset or empty inherits; a nonempty definition replaces the entire analyzer. Without an inherited analyzer, defaults to whitespace.
stored 7 bool optional Keep canonical source text before analysis/normalization for TEXT/STRING/ID retrieval. Defaults to true for TEXT, false otherwise; unused on other types.
stored_resource 8 string optional Stored-field group for stored TEXT/STRING/ID values, e.g. “_stored_body_”. Empty or unset inherits the parent’s group, falling back to “_stored_”.
dims 9 int32 optional Vector dimensionality. Unset inherits, falling back to 0 (infer from the first indexed value). A positive value enforces dimensions at ingest.
metric 10 VectorMetric optional Vector similarity metric. Absent means inherit, else NONE (storage-only).
normalized 11 bool optional Caller asserts that all values for this field are already L2-normalized (unit length). For COSINE, this disables write-time and aux-build normalization. No effect on non-COSINE metrics. Trust-only: not validated at index time.
normalize_on_write 12 bool optional For COSINE fields, normalize vectors before storing them in the column. If unset, COSINE defaults to true unless normalized is true; other metrics default to false. A cosine field skips and logs zero / near-zero vectors when normalized is false.
variants 13 FieldVariants singular alternate representations of this logical field
defaults 14 FieldDefaults singular default search and value representations
normalizer 15 NormalizerDef singular whole-value STRING normalization
long_terms 16 FieldDef.LongTerms optional absent: inherit from parent, else hash128

Default representations for bare field names. Each binding names “self” or a local variant label. Absent inherits the parent’s defaults; present replaces both bindings. An omitted value binding on a TEXT primary selects its sole STRING variant; an omitted search binding on a STRING primary selects its sole TEXT variant. Multiple candidates require an explicit binding. With no candidate, or for other type combinations, use self. Inference uses resolved types; operations still check index/column support. Explicit <field>__<label> and <field>__self selectors bypass these defaults.

Source

Field Number Type Cardinality / group Description
search 1 string optional Match, phrase, simple query, expression terms, prefix, fuzzy, wildcard, and regex queries, including their use in filters.
value 2 string optional AnyOfQuery, ranges, field/range facets, sorts, and column expressions. Bare field names in retrieval, exists, kNN, and geo use the primary.

Buckets of distinct field values, using the field’s value binding. STRING/ID support sub-operations and custom sorts. INT/DATE/TEXT support counts, limits, mincount, missing, and selections.

Source

Field Number Type Cardinality / group Description
field 1 string singular
limit 2 sint64 optional Maximum ordinary buckets. Unset = 5; 0 = none; -1 = all. Selected buckets outside the ordinary page are appended after it.
mincount 3 int64 optional Minimum bucket count. Unset includes only buckets with matches. STRING/ID/TEXT also accept 0 to include indexed terms absent from the domain. INT/DATE require a positive value when set.
missing 4 bool singular return the count of documents without a value
sort 5 SortSpec repeated One metric sub-operation name. Unset sorts by count descending, then bucket value ascending.
ops 6 map<string, SearchOp> map sub-facets or search operations performed per bucket
selected 7 Val singular Scalar or array of selected values, coerced as AnyOfQuery values. Selected buckets missing from the ordinary page append in input order with exact counts, even below mincount or absent from the index. Null is an error.
selection_mode 8 SelectionMode singular ALL requires a nonempty selection

Alternate representations of the same input value, keyed by local label. Absent inherits the parent’s variants; present replaces the whole map; empty clears it. HTTP JSON represents this directly as an object.

Source

Field Number Type Cardinality / group Description
entries 1 map<string, FieldDef> map Each representation is addressed as <field>__<label>. Variant definitions may inherit physical settings through parent, but cannot set multi, stored, stored_resource, variants, or defaults. All representations share the logical field’s scalar, vector, or geographic shape.

Source

Field Number Type Cardinality / group Description
query 1 Query singular required; restricts matches without contributing to scores
except_ops 2 string repeated Keys in the enclosing TopDocs.ops map that should not receive this filter. The filter still applies to the TopDocs results and other sub-operations. Names must be nonempty, distinct, and present in that ops map. Empty applies the filter to all sub-operations. Not supported on Fusion filters or Fusion source filters.

Hybrid-search fusion: run several source queries (each a full TopDocs spec) and merge their results into a single ranked list.

Per-source response-shape fields (`fields`, `batch_size`, `offset`, `get_scores`, `get_number`, `document_format`) are ignored - Fusion controls response shape at the top level. Per-source `ops` are rejected; put facets and metrics in Fusion.ops. Each source’s `query`, `sort`, `limit`, and any per-source `filter` are used to produce that source’s ranked list.

The fusion-level `filter` is ANDed with each source’s own filters.

Source

oneof method: at most one member can be set.

Required fusion method.

Field Number Type Cardinality / group Description
sources 1 map<string, TopDocs> map Named source queries. At least one source is required.
filter 2 Filter repeated Filters applied to every source. except_ops is not supported here or in source filters.
limit 3 sint64 optional Maximum fused documents to return. Unset = 10; 0 = none; -1 = all remaining.
rrf 10 RrfFusion oneof method
offset 4 int64 singular Response shape (mirrors TopDocs). Zero-based rank of the first returned fused document; must be >= 0. Return up to limit after skipping. Source limits remain candidate-pool sizes: paging cannot reach beyond the union of their ranked windows. Each response DocList.offset is the absolute rank of that batch’s first row, or the requested offset for an empty page.
get_number 5 bool singular return the number of distinct documents in the source union
get_scores 6 bool singular
fields 7 string repeated as TopDocs.fields: empty returns every retrievable field, ‘*’ patterns expand
batch_size 8 int32 singular same batching rules as TopDocs.batch_size
document_format 9 DocFormat singular rows vs columns placement of returned fields (see DocFormat)
ops 15 map<string, SearchOp> map Runs over the union of filtered source ranked lists, as counted by found. Fusion limit and offset do not affect this candidate domain.

Matches indexed terms within byte-wise Levenshtein distance of `term`. TEXT fields apply multi-term normalization without tokenization; STRING fields apply their normalizer and ID fields use it verbatim. Scoring queries use blended BM25 statistics; filter queries use constant scores.

Source

Field Number Type Cardinality / group Description
field 1 string singular
term 2 string singular
max_edits 3 int32 optional Maximum edit distance, 0..2. Unset = AUTO by term length: 0 for <=2 bytes, 1 for <=5, else 2.
prefix_length 4 int32 optional Leading bytes that must match exactly. Unset = 1; 0 = no required prefix.
max_expansions 5 int32 singular Max term expansions, closest terms first. Unset/0 = default 50. A positive value requests that cap; the operator/clause budget may lower it with a warning. Negative values are rejected.

Inclusive geographic bounding box in degrees. Bounds are quantized to the storage grid exactly like ingest. min_lon > max_lon crosses the dateline; min_lat > max_lat is an error. Boxes degenerate at +90 latitude or +180 longitude match nothing.

Named scalar bounds deliberately avoid positional ambiguity: the VALUE array contract [x, y] = [lon, lat] does not apply to this message.

Source

Field Number Type Cardinality / group Description
field 1 string singular
min_lat 2 double singular south edge, degrees in [-90, 90]
max_lat 3 double singular north edge
min_lon 4 double singular west edge, degrees in [-180, 180]
max_lon 5 double singular east edge; min_lon > max_lon crosses the dateline

Geographic distance query with a center in degrees and radius in meters. Matches when at least one GEO_POINT value is within the inclusive radius.

Named center scalars deliberately avoid positional ambiguity: the VALUE array contract [x, y] = [lon, lat] does not apply to this message.

Source

Field Number Type Cardinality / group Description
field 1 string singular
lat 2 double singular center latitude, degrees in [-90, 90]
lon 3 double singular center longitude, degrees in [-180, 180]
radius_meters 4 double singular inclusive radius, finite and non-negative

Source

Field Number Type Cardinality / group Description
limit_bytes 1 uint64 singular
reserved_bytes 2 uint64 singular

Source

Field Number Type Cardinality / group Description
totals 10 StatsTotals singular counts for this index alone
commit_time 1 uint64 singular microseconds since the Unix epoch
index_gen 2 uint64 singular
core_gen 3 uint64 singular
update_version 4 uint64 singular
schema_gen 5 string singular sortable-string spelling (see SegmentStats); empty = no schema
active_merges 6 uint64 singular
aux_indexes 7 AuxStats repeated
query_cache 8 QueryCacheStats singular
segments 9 SegmentStats repeated

Nearest-neighbor query against a searchable vector field. Search is exact when no ANN index is available; an ANN index may produce approximate results. The query vector must be non-empty and match the field’s dimensions. Deleted documents and documents outside the enclosing domain are excluded. Multi-valued fields return one hit per document using its highest similarity.

Source

Field Number Type Cardinality / group Description
field 1 string singular vector field name (e.g. “embedding_v”)
query 2 Vector singular query vector - must match the field’s dims
k 3 int32 singular number of nearest-neighbor documents to return; must be positive
exact 4 bool singular Require exact top-k results by scanning stored vectors. Cost is linear in the number of stored vectors; refine_candidates and ivf are ignored.
refine_candidates 5 int32 singular Candidate-pool size for full-precision rescoring of ANN results, before collapsing multiple vectors to one hit per document. Clamped up to k; 0 selects an adaptive default. Larger pools can improve recall at a cost in memory and latency. Fewer candidates may be available.
ivf 6 KnnQuery.Ivf singular ignored for exact search and segments without an IVF index

Search effort for IVF indexes.

Source

Field Number Type Cardinality / group Description
nprobe 1 int32 singular Merge-stable IVF effort: lists to probe if this field were one IVF index with nlist=sqrt(live vectors). 0 = adaptive default; positive values cap search effort.
min_scan_fraction 2 float singular Minimum fraction of live vectors to scan, in [0,1]. 0 = no floor.

Names of every collection on the node, sorted. HTTP-only: GET or POST /collections/_list, also available as GET /collections.

Source

Field Number Type Cardinality / group Description
collections 1 string repeated

Source

Field Number Type Cardinality / group Description
fields 1 map<string, Val> map Unordered map of dynamically typed values.

Matches one field. TEXT, STRING, and ID accept string, bytes, numeric, or boolean scalar values; numeric and DATE fields accept string or numeric scalars. Null matches nothing. Arrays and structured values are rejected, and GEO_POINT is unsupported. TEXT values are analyzed and scored; use AnyOfQuery for constant-score value sets and SimpleQuery or ExprQuery for multi-field text.

Source

Field Number Type Cardinality / group Description
field 1 string singular
val 2 Val singular
operator 3 Match.Operator singular How to combine the multiple terms an analyzed text field can produce. Unset = OR.
min_match 4 int32 singular Minimum number of the analyzed terms that must match (the OR..AND middle ground). When set it overrides `operator`; clamped to the term count. Mirrors BooleanQuery.min_match.

Multi-valued vector column. Empty ArrVector means “doc does not have the field”; absence is indistinguishable from an empty list, which matches the indexing behavior (an empty list of vectors is not stored).

Source

Field Number Type Cardinality / group Description
v 1 ArrVector repeated

Whole-value STRING normalization using a keyword input and only normalizing filters. Absent inherits; present replaces; empty clears. HTTP JSON uses an array of components, e.g. [“nfkc_cf”, “fold”]. Applied at ingest and to query literals and facet selections.

Source

Field Number Type Cardinality / group Description
filters 1 AnalyzerComponent repeated

Source

Field Number Type Cardinality / group Description
field 1 string singular
text 2 string singular Set exactly one of these.

un-analyzed text that should yield multiple words when analyzed. ex: “Thomas Anderson”
words 3 string repeated un-analyzed list of words. ex: [“Yonik”,“Seeley”]
terms 4 string repeated analyzed list of terms as strings
terms_bin 5 bytes repeated analyzed list of binary (raw bytes) terms
slop 6 int32 singular Maximum spread of rebased positions: max(docPos-queryPos) minus min(docPos-queryPos). Must be nonnegative. Adjacent transposition costs 2; this is not the number of words between terms. Zero is exact.
positions 15 int32 repeated optional positions of the terms

Matches documents where `field` has a term starting with `prefix`. TEXT fields apply multi-term normalization without tokenization; STRING fields apply their normalizer and ID fields use the bytes exactly. An empty prefix matches documents that have at least one indexed term for the field.

Source

Field Number Type Cardinality / group Description
field 1 string singular
prefix 2 string singular

Source

oneof kind: at most one member can be set.

An unset kind selects all documents, same as `all`.

Field Number Type Cardinality / group Description
match 1 Match oneof kind selects all documents with a value match in the specified field
boolean 2 BooleanQuery oneof kind
all 3 bool oneof kind selects all documents
exists 4 ExistsQuery oneof kind selects documents that supplied a value for the field
phrase 5 PhraseQuery oneof kind selects all documents with a phrase
knn 6 KnnQuery oneof kind nearest-neighbor search over a vector field
constant_score 7 ConstantScoreQuery oneof kind wraps a query and replaces each hit’s score
prefix 8 PrefixQuery oneof kind selects documents by term prefix
fuzzy 9 FuzzyQuery oneof kind selects documents by fuzzy (edit-distance) term match
simple_query 10 SimpleQuery oneof kind forgiving end-user query string (search-box input)
range 11 RangeQuery oneof kind selects documents with a field value in a range
expr 12 ExprQuery oneof kind an expression in the Luxir query language (rigorous grammar)
geo_box 13 GeoBoxQuery oneof kind selects GEO_POINT values inside an inclusive bounding box
geo_distance 14 GeoDistanceQuery oneof kind selects GEO_POINT values within a radius of a center
boost 15 BoostQuery oneof kind multiplies every hit score of a wrapped query
rescore 16 RescoreQuery oneof kind preserves matches and replaces each hit’s score
wildcard 17 WildcardQuery oneof kind selects documents by wildcard term match
regex 18 RegexQuery oneof kind selects documents by regular-expression term match
any_of 19 AnyOfQuery oneof kind constant-score exact value-set membership

Source

Field Number Type Cardinality / group Description
name 1 string singular nonempty output label and selection key; unique within the facet
query 2 Query singular required; the bucket predicate

Source

Field Number Type Cardinality / group Description
enabled 1 bool singular
max_bytes 2 uint64 singular
resident_bytes 3 uint64 singular
metadata_bytes 4 uint64 singular
hits 5 uint64 singular
misses 6 uint64 singular
admissions 7 uint64 singular
builds 8 uint64 singular
byproduct_inserts 9 uint64 singular
publish_rejects 10 uint64 singular
evictions 11 uint64 singular
purges 12 uint64 singular
oversized_key_bypasses 13 uint64 singular
reader_stable_hits 14 uint64 singular
reader_stable_refreshes 15 uint64 singular
reader_stable_retires 16 uint64 singular

Named query buckets. A document may contribute to more than one bucket.

Source

Field Number Type Cardinality / group Description
buckets 1 QueryBucket repeated required, nonempty; response order = request order
ops 6 map<string, SearchOp> map sub-ops per bucket
selected 7 Val singular bucket name or array of distinct existing names; null is an error
selection_mode 8 SelectionMode singular same filtering rules as FieldFacet; see SelectionMode

Numeric or DATE buckets using the field’s value binding. Each bucket is inclusive at its lower bound and exclusive at its upper bound; the final bucket is clipped to end. start must be less than end. Buckets return in lower-bound order.

Source

oneof gap_kind: at most one member can be set.

Field Number Type Cardinality / group Description
field 1 string singular
start 2 Val singular required inclusive start of the range
end 3 Val singular required exclusive end of the range
gap 4 Val oneof gap_kind positive fixed width in field units; integer milliseconds for DATE
calendar_gap 10 CalendarGap oneof gap_kind civil gap for DATE fields only
mincount 5 int64 optional minimum bucket count; unset = 0; must be >= 0
missing 6 bool singular return the count of documents without a value
ops 8 map<string, SearchOp> map sub-facets or search operations performed per bucket
time_zone 9 string singular empty inherits SearchRequest.time_zone; DATE fields only
selected 11 Val singular Scalar or array naming generated bucket lower bounds. Selected buckets are returned even below mincount. Null, nongenerated bounds, and duplicate bounds after coercion are errors.
selection_mode 12 SelectionMode singular same filtering rules as FieldFacet; see SelectionMode

Matches documents whose field value falls in the given range. All bounds are optional; omit a side for an open-ended range. Set at most one of gte/gt (lower) and at most one of lte/lt (upper); setting both of a pair is an error. With no bounds the query matches every document that has a value for the field. A doc with no value never matches.

Numeric fields (INT/FLOAT/DOUBLE/DATE) require a column. Bounds go through the same value-coercion contract as ingest, so querying a literal finds the documents ingested with it. DATE accepts ISO-8601 strings or epoch millis, and a partial date names its whole window: bounds include the granule they name ([2024-01 TO 2024-06] covers January through June; exclusive bounds exclude the granule whole). FLOAT/DOUBLE compare by IEEE-754 total order: -0.0 sorts below +0.0 and NaN sorts above +Inf.

Term-backed fields (TEXT/STRING/ID) range over indexed terms in byte order (no collation), constant-scoring. TEXT bounds use multi-term normalization without tokenization; STRING bounds use the field’s normalizer. Exact bounds follow the field’s long_terms policy. Uses the field’s value binding.

Source

Field Number Type Cardinality / group Description
field 1 string singular
gte 2 Val singular lower bound, inclusive (>=)
gt 3 Val singular lower bound, exclusive (>)
lte 4 Val singular upper bound, inclusive (<=)
lt 5 Val singular upper bound, exclusive (<)

Matches an anchored whole indexed term using `|`, concatenation, groups, repetition, `.`, and character classes. `^` and `$` are literals. On TEXT fields, literal characters fold the way the field folds text; character classes and ranges are codepoint-exact. STRING fields also normalize literal characters; ID fields use literals verbatim.

Source

Field Number Type Cardinality / group Description
field 1 string singular
pattern 2 string singular

Source

Field Number Type Cardinality / group Description
query 1 Query singular
expr 2 string singular
vars 3 map<string, Val> map

Reciprocal Rank Fusion: fused_score(d) = sum over sources s of 1 / (k + rank_s(d)), where rank_s(d) is d’s 1-based rank in source s (or omitted if d does not appear in s). k=60 is the standard default.

Source

Field Number Type Cardinality / group Description
k 1 int32 singular 0 means use default (60)

Source

Field Number Type Cardinality / group Description
fields 1 map<string, FieldDef> map Concrete fields, keyed by field name. Exact-name lookup consults only this map. The reserved “id” and “_version_” fields are always materialized: a REPLACE_ALL that omits them gets the defaults; redefining them incompatibly, or defining a second ID-class field, is an error.
templates 2 map<string, FieldDef> map Abstract definitions, keyed by template name. Never directly usable as a doc field; suffix matching (“title_w” -> “_w”) consults only this map, and any field/template may name one as parent. A name in both maps is an error.

Source

Field Number Type Cardinality / group Description
collection 1 string singular empty selects the default collection, “main”
mode 2 SchemaRequest.Mode singular
schema 3 SchemaDef singular

Source

Field Number Type Cardinality / group Description
schema 1 SchemaDef singular the resulting schema after the operation

A named search operation. The name is its key in the enclosing ops map.

Source

oneof kind: at most one member can be set.

Field Number Type Cardinality / group Description
top_docs 1 TopDocs oneof kind
fusion 2 Fusion oneof kind
field_facet 8 FieldFacet oneof kind
range_facet 9 RangeFacet oneof kind
query_facet 10 QueryFacet oneof kind
expr_op 15 ExprOp oneof kind
domain 20 Domain singular optional override of the incoming document domain

Top-level search request that can contain multiple search operations.

Source

Field Number Type Cardinality / group Description
request_id 1 string singular Optional opaque identifier, echoed in every response to this request. Use distinct identifiers to correlate requests and responses in a stream.
collection 2 string singular empty selects the default collection, “main”
ops 3 map<string, SearchOp> map Multiple search operations in a single request.
freshness_ms 4 uint64 singular Index view freshness tolerance in milliseconds. 0 (the default) requires the latest advertised commit: wait for an immediate commit’s response, and a freshness_ms=0 search is guaranteed to see it. A positive value lets the search reuse a reader up to this stale, avoiding reader churn under frequent commits. It is a tolerance, not a latency bound: there is no guaranteed time from ingest to visibility.
time_zone 5 string singular Time zone for date math and date literals without an offset. Empty is UTC; accepts Z, UTC, fixed offsets, or a case-sensitive IANA zone name.
response_format 6 ResponseFormat singular HTTP response framing. ENVELOPE (default): one JSON envelope per batch. DOCS: one document per line, with optional _header_ metadata records. The HTTP ?format=docs parameter also selects DOCS. gRPC rejects DOCS. See docs/guide/http-api.md for the NDJSON formats.
profile 7 bool singular Return execution details for instrumented operations; see ExecutionProfile.
max_parallel 8 int32 singular Intra-request parallelism: 0 (default) lets the engine choose; 1 runs serially on the shared executor; -1 permits unlimited parallelism. Automatic execution is serial on the receiving thread. Other values are rejected.

Top-level response to a Search request

Source

Field Number Type Cardinality / group Description
request_id 1 string singular
ops 2 map<string, Val> map the results of the search operations in the request, keyed by operation name.
error 3 Error singular Present on a failed request’s final response; ops is then empty. A final error may follow earlier result batches.
warnings 4 Warning repeated final response only, on success or failure
profile 5 ExecutionProfile singular final response only, when SearchRequest.profile is true
more 15 bool singular if true, expect at least one more streaming response to the logical request.

Ids and generations that appear in filenames are reported in their filesystem spelling so stats output correlates directly with directory listings and logs: “seg” is the segment’s data-file prefix (e.g. “s0a”), while generations are the length-prefixed base36 sortable strings embedded in filenames (e.g. live_gen “01” -> file “s0a__L01”, schema_gen “02” -> file “_schema_02”). Sortable strings order the same as the numbers they encode, so lexicographic comparison remains valid. Empty (omitted in JSON) means none. Generations that never appear on disk (index_gen, core_gen, update_version) stay numeric.

Source

Field Number Type Cardinality / group Description
seg 1 string singular
live_gen 2 string singular
min_update_version 3 uint64 singular
max_update_version 4 uint64 singular
first_commit_time 5 uint64 singular microseconds since the Unix epoch
max_doc 6 int32 singular
live_docs 7 int32 singular
deleted_docs 8 int32 singular
schema_gen 9 string singular
committed 10 bool singular
merging 11 bool singular
merge_level 12 uint32 singular
overlays 13 AuxStats repeated
bytes 14 uint64 singular

Source

Field Number Type Cardinality / group Description
shard_id 1 uint32 singular
stats 2 QueryCacheStats singular gathered after the requested actions
entries 3 CacheEntryDump repeated largest payload first, capped
entries_resident 4 uint64 singular uncapped resident-entry count at dump time

Source

Field Number Type Cardinality / group Description
shard_id 1 uint32 singular
index 2 IndexStats singular

Forgiving end-user query for raw search-box input. Malformed query text degrades to a valid query. Reported degradations appear in SearchResponse.warnings.

Syntax: bare words (searched across `fields`), + (the NEXT clause is required; needs a preceding clause to combine with, so a leading + is inert), -word (must not; under the default OR this is its own all-except-word clause - restrictive negation needs operator AND), a | b (or), “a phrase”, (grouping), trailing * (prefix), word~N (fuzzy; bare ~ = auto edits), \ escapes the next character, and field:value / field:“a phrase” fielded terms. A colon token whose field name is not queryable degrades to literal text against `fields`.

Source

Field Number Type Cardinality / group Description
q 1 string singular the raw user input
fields 2 string repeated The fields unfielded (bare) terms search; scores sum across fields. Required and non-empty. Invalid request parameters can cause errors even though malformed q text is tolerated.
operator 3 Match.Operator singular How adjacent clauses combine. Unset = OR (any clause may match).
min_match 4 int32 singular Minimum number of top-level optional clauses that must match (mirrors BooleanQuery.min_match). Silently inapplicable when the parsed top level cannot honor it (a single clause, required clauses from + or the AND operator).
allowed_fields 5 string repeated Narrows which field names the field:value syntax may reach. Empty = every queryable schema field. It can only narrow that set - listing a name the schema cannot query does not make it work. A field: token outside the allowed set is literal text, never an error.

Source

Field Number Type Cardinality / group Description
expr 1 string singular
vars 2 map<string, Val> map
dir 10 SortSpec.SortDir singular

Operational statistics. An empty collection requests every collection on the node; per-segment records are opt-in because they are the only unbounded part of the response.

Source

Field Number Type Cardinality / group Description
collection 1 string singular empty selects every collection
segments 2 bool singular

Source

Field Number Type Cardinality / group Description
totals 1 StatsTotals singular
collections 2 CollectionStats repeated
indexing_ram 3 IndexRamStats singular

Rolled-up counts. Only the fields meaningful at a given level are set, so “collections” appears only on the node total and “shards” only on node and collection totals. Absent means zero (proto3 JSON omits defaults).

Source

Field Number Type Cardinality / group Description
collections 1 uint64 singular
shards 2 uint64 singular
segments 3 uint64 singular
committed_segments 4 uint64 singular
max_docs 5 uint64 singular
live_docs 6 uint64 singular
deleted_docs 7 uint64 singular
bytes 8 uint64 singular on-disk bytes; the index level reports the whole directory including metadata and in-flight files

Source

Field Number Type Cardinality / group Description
query 1 Query singular unset selects all documents (browse / filter-only search)
filter 2 Filter repeated
offset 3 int64 singular Zero-based rank of the first returned document; must be >= 0. Skip this many ranked matches, then return up to limit (-1: all remaining; 0: none). Each response DocList.offset is the absolute rank of that batch’s first row, or the requested offset for an empty page. Ignored as a Fusion source.
limit 4 sint64 optional Maximum documents to return. Unset = 10; 0 = none; -1 = all remaining.
get_number 5 bool singular return the number of matching documents
get_scores 6 bool singular return the relevancy score for each document returned
fields 7 string repeated Fields to return for each document. Empty returns every retrievable field (stored or column-backed; not vectors or engine fields such as _version_), discovered from the index and placed in per-document rows (DocList.docs). A name containing ‘*’ is a pattern expanded the same way: the matching retrievable fields, in rows; matching nothing is not an error. Explicitly named fields win on collision and may name anything, vectors and engine fields included.
sort 8 SortSpec repeated
batch_size 9 int32 singular Maximum documents per streaming batch. Nonpositive = default (100); the server caps positive values at 256. More documents produce more batches. Ignored beneath a facet bucket, where all rows return together.
document_format 10 DocFormat singular rows vs columns placement of returned fields (see DocFormat)
ops 15 map<string, SearchOp> map sub-facets or search operations performed over docs that match this query.

Index or delete documents, with an optional commit.

Source

Field Number Type Cardinality / group Description
request_id 1 string singular Optional opaque identifier, echoed in the response for correlation.
collection 3 string singular empty selects the default collection, “main”
docs 4 Map repeated
delete_ids 6 string repeated Document IDs to delete. Deletes never fail per-id; deleting a nonexistent id is a no-op.
allow_dups 7 bool singular Skip overwrite/dedupe for faster indexing when incoming IDs are known to be unique and do not already exist in the collection. Default (false) overwrites any existing document with the same ID.
all_or_none 8 bool singular If true, all documents in this request must be successfully indexed or none will be. Processing stops at the first failing document: documents already indexed by this request are rolled back, queued delete_ids from this request are rolled back, and later documents are not attempted (and not listed in errors). Atomicity is per-request; it does not span multiple requests in a stream.
return_ids 9 bool singular If true, return the ids of indexed documents in the response.
commit 10 CommitParams singular Commit parameters. If present, this request will commit; if absent, no commit is performed.
field_map 11 map<string, string> map Renames input document keys onto schema fields for this request’s docs, applied before schema lookup: a doc key found in the map indexes under the mapped name. An entry mapping to “” drops that input key. After mapping, a name appearing more than once in a doc keeps the last occurrence (the same last-wins rule as duplicate keys). Keys not in the map index under their own name unless drop_unmapped is set. This reshapes a foreign document stream per request, without editing the input or the schema.
drop_unmapped 12 bool singular If true, doc keys not present in field_map are dropped instead of indexed. Requires a non-empty field_map (note “id” is dropped too unless mapped).

The response to an update request. In streaming mode the server sends exactly one response per request.

Source

Field Number Type Cardinality / group Description
request_id 1 string singular This is the request_id from the UpdateRequest, if it was set.
update_version 2 uint64 singular The update version assigned to the update request.
status 3 UpdateResponse.Status singular
ids 4 string repeated ids of documents that were successfully indexed, if return_ids was set to true in the request. In request order; failed documents are omitted (align against docs by skipping errors[].index). A successfully indexed doc without a string/bytes id contributes an empty string. Only meaningful when status is OK or PARTIAL; on a request-level ERROR the listed documents may have been rolled back.
errors 5 UpdateResponse.DocError repeated Per-document failures. A failed document has no effect on search results; the previous version of the document, if any, is untouched.
total_errors 7 int64 singular Number of failed documents. Equals the length of errors unless the transport retained only a prefix (the NDJSON stream keeps the first 100 per group).
error 6 Error singular Request-level failure (not tied to a single document), e.g. a failure in the commit pipeline. Set exactly when status == ERROR for a non-document failure.

Source

Field Number Type Cardinality / group Description
id 1 string singular the id of the failed document as given in the request (empty if absent or not a string/bytes value)
index 2 int32 singular position of the failed document within the request’s document list
error 3 Error singular

Source

oneof kind: at most one member can be set.

Field Number Type Cardinality / group Description
null 1 google.protobuf.NullValue oneof kind Represents a null value.
s 2 string oneof kind
i 3 sint64 oneof kind
d 4 double oneof kind
f 5 float oneof kind
b 6 bool oneof kind
bin 7 bytes oneof kind
map 8 Map oneof kind
arr 9 ArrVal oneof kind
arr_s 10 ArrStr oneof kind
arr_i 11 ArrInt oneof kind
arr_f 12 ArrFloat oneof kind
arr_d 13 ArrDouble oneof kind
arr_bin 14 ArrBin oneof kind
vec 15 Vector oneof kind single dense vector (single-valued vector field, or one element)
arr_vec 16 ArrVector oneof kind list of vectors (multi-valued vector field per doc)
docs 100 DocList oneof kind a list of documents, used for search results
facet 101 FacetResult oneof kind result of a facet operation

A dense vector value. Dimensionality is the number of elements in f32.v.

Source

oneof kind: at most one member can be set.

Field Number Type Cardinality / group Description
f32 1 ArrFloat oneof kind

A nonfatal degradation reported by the query parser or engine. Documented defaults, ignored parameters, and clamps need not produce warnings.

Source

Field Number Type Cardinality / group Description
code 1 string singular stable machine key, e.g. “fuzzy_clamped”, “field_narrowed”
message 2 string singular human-readable detail

Matches an entire indexed term. `*` matches any bytes, `?` matches one codepoint, and backslash escapes the next character. On TEXT fields, literal characters fold the way the field folds text; `*`, `?`, and escapes are syntax and never fold. STRING fields also normalize literal characters; ID fields use literals verbatim.

Source

Field Number Type Cardinality / group Description
field 1 string singular
pattern 2 string singular

Source

Value Number Description
UNKNOWN 0
DAY 1
WEEK 2
MONTH 3
QUARTER 4
YEAR 5

Placement preference for returned document fields: dense columns (DocList.columns) vs per-document maps (DocList.docs). DEFAULT resolves per transport: HTTP/JSON -> ROWS, gRPC -> COLUMNS. Under COLUMNS, explicitly named fields are returned as dense columns while discovered fields (empty or wildcard selectors) use docs; under ROWS everything is returned in docs.

Source

Value Number Description
DEFAULT 0
ROWS 1
COLUMNS 2

Source

Value Number Description
UNKNOWN 0
INVALID_REQUEST 1 the request as written cannot be served (HTTP 400)
NOT_FOUND 2 the addressed collection or route does not exist (404)
ALREADY_EXISTS 3 the request would create what already exists (409)
FAILED_PRECONDITION 4 the node’s state forbids the operation, e.g. –read-only (403)
RESOURCE_EXHAUSTED 5 a size or memory ceiling was exceeded (429; 413 for request_too_large)
UNAVAILABLE 6 the target exists but cannot serve now: shutting down, being deleted, failed to load (503)
INTERNAL 7 a server-side failure the request did not cause (500)

Source

Value Number Description
STRING 0 unanalyzed string
TEXT 1 analyzed text
INT 2
FLOAT 3
DOUBLE 4
ID 6 document identifier used for replacement and deletion
VECTOR 7 dense float vector
DATE 8 timestamp, stored as int64 milliseconds since the Unix epoch
GEO_POINT 9 latitude/longitude point

Index acceleration. Numeric Match/Range and geographic predicates can scan a column with NONE. Term queries on STRING/TEXT/ID require MATCH; STRING columns alone do not provide term-query support.

Source

Value Number Description
NONE 0 no index
MATCH 1 term index for STRING/TEXT/ID, including term ranges
RANGE 2 numeric Match/Range or GEO_POINT predicates; requires column=true

Policy for indexed terms longer than 255 bytes: STRING after normalization, TEXT after analysis, and IDs. Exact query values use the same policy. Not valid on column-only STRING or other types. Changes do not rewrite existing terms. See docs/guide/schema.md for ordering and query implications.

Source

Value Number Description
TRUNCATE 0 keep a UTF-8-safe prefix of at most 255 bytes; values may merge
REJECT 1 reject overlong terms
HASH128 2 prefix of at most 230 bytes plus 25 base36 hash digits

Source

Value Number Description
OPERATOR_UNSPECIFIED 0 treated as OR
OR 1 a doc matches if any analyzed term matches
AND 2 a doc must match every analyzed term

Source

Value Number Description
ENVELOPE 0
DOCS 1

Source

Value Number Description
SET 0 Each named definition is SET to exactly the request’s definition (whole-definition, never a property-level merge); definitions not named in the request are untouched.
REPLACE_ALL 1 Replace the entire schema with this definition (the reserved id and _version_ fields are materialized when omitted).

How facet selections filter the enclosing TopDocs results and its sub-operations. Nonempty selected is supported only on facets directly in TopDocs.ops. Selections on different facets combine with AND. Domain overrides can discard these filters; see Domain.apply_parent_filters.

Source

Value Number Description
ANY 0 match any selected value; omit this selection’s filter from its own facet
ALL 1 Require every selected value. Keep this selection’s filter on its own facet so each unselected bucket counts matches if that value is added.

Source

Value Number Description
UNKNOWN 0
ASC 1
DESC 2

Source

Value Number Description
UNKNOWN 0 the default
OK 1 the update was successful
PARTIAL 2 part of the request took effect, part failed (see errors)
ERROR 3 The request failed. If error is unset, the failure was per-document (see errors) and the request had no visible effect on the index. If error is set, the failure was request-level (e.g. commit pipeline) and the effect of individual documents is indeterminate beyond what errors lists.

Vector similarity metric. NONE = storage-only, not kNN-searchable; L2 / IP / COSINE select the metric for exact column search and any ANN index.

Source

Value Number Description
NONE 0
L2 1
IP 2
COSINE 3

`NullValue` is a singleton enumeration to represent the null value for the `Value` type union.

The JSON representation for `NullValue` is JSON `null`.

Value Number Description
NULL_VALUE 0 Null value.