Replace search settings
Replaces the settings completely and returns them as stored, answering 201 while the index had none and 200 while it had. While a ranking is present, it replaces the definition's ranking completely; an empty object turns ranking off.
The server validates the ranking against the generation the index name answers from, using the same index:ranking:* error codes used to validate a definition's ranking. The server validates the fields named by synonyms, typoExclusions, and fields against the same generation.
A change takes effect for searches on the answering node immediately and on all other nodes within EXOFIND_SETTINGS_REFRESH_INTERVAL. Until then, two nodes can rank the same query differently. Search settings outlive generations: a generation promoted later can lack a field the settings name, and searches then skip that entry rather than fail.
Runs on the node that writes the index. The settings.write permission is separate from indexes.write, so relevance tuning can be granted without the power to change what an index contains.
Path parameters
namestringrequiredHeaders
If-MatchstringETag. * asks only that the index has settings. Several versions may be given, separated by commas, and the header is satisfied while the stored version is one of them; versions are compared exactly, so a weak tag (W/"...") matches none. An index with no settings answers 404, and a version that no longer matches answers 412 instead of overwriting the change that moved it.Body
Per-index settings that affect how searches are answered, sent in full and replacing what was stored. Search settings belong to the index name rather than to a generation, so promoting a generation preserves existing search settings.
rankingRankingranking. While present, it replaces the definition's ranking completely; an empty object turns ranking off. A search request adds its own signals to whichever ranking is in force, or replaces them with signalsMode. Validated against the generation the index name answers from, using the same index:ranking:* error codes that validate a definition's ranking.Example
{ "tieBreakers": [ { "field": "sales", "direction": "descending" } ], "signals": [ { "field": "purchases", "saturation": { "pivot": 50 }, "weight": 0.5 } ]}2 properties
tieBreakersTieBreaker[]sort enabled.Example
{ "field": "sales", "direction": "descending"}2 properties
fieldstringrequiredsort enabled."sales"directionDirectiondescending.- Default
- "descending"
- Values
- "ascending", "descending"
signalsSignalDefinition[]signals adds to these rules or replaces them based on signalsMode.Example
{ "field": "purchases", "saturation": { "pivot": 50 }, "weight": 0.5}5 properties
fieldstringrequired"purchases"saturationRankingSaturationint32, int64, float and double fields.Example
{ "pivot": 50}1 property
pivotnumberrequired0.- Format
- double
50decayRankingDecaytimestamp fields.Example
{ "halfLife": 604800}1 property
halfLifeintegerrequired0.- Format
- int64
604800linearRankingLinearvalue / ceiling held between 0 and 1. For int32, int64, float and double fields holding a score computed elsewhere, such as an engagement score between 0 and 1.Example
{ "ceiling": 1}1 property
ceilingnumberrequired0.- Format
- double
1weightnumber1, a document at the top of the signal reaches twice the score of one holding no value at all.- Default
- 1
- Format
- float
synonymsmap of QuerySynonyms1 property
<key>QuerySynonymsExample
{ "rules": [ { "equivalent": [ "laptop", "notebook" ] } ], "fields": [ "name" ], "boost": 0.8}3 properties
rulesRule[]resources.Example
{ "equivalent": [ "car", "automobile" ]}2 properties
equivalentstring[]mappingMappingfrom also match searches for any term in to, but not the reverse.Example
{ "from": [ "ny" ], "to": [ "new york" ]}2 properties
fromstring[]requiredtostring[]requiredfieldsstring[]boostnumber0.8. Values below 1 rank a document holding the typed term above one holding only a synonym. A value of 1 weighs synonyms and typed terms equally.- Format
- float
0.8typoExclusionsmap of TypoExclusions1 property
<key>TypoExclusionsExample
{ "words": [ "adidas", "X-15" ], "fields": [ "name" ]}2 properties
wordsstring[]fieldsstring[]fieldsmap of FieldSettings1 property
<key>FieldSettingsExample
{ "interpret": {}, "suggest": {}, "values": [ { "value": "S", "order": 1, "labels": { "en": "Small", "sv": "Liten" } } ]}3 properties
interpretInterpretUsageuser mode, as a filter on the field. The field must be a string field with filter and facet and without hierarchy; otherwise the request returns settings:fields:interpret_unsupported. Carries no options. See Reading the values of a field.{}valuesDeclaredValue[]order and labels per locale. A facet with "order": "declared" answers these values first, by order, and every other value after them by count. A facet answers each value's label in the locale of the search, a prefix search of the facet matches labels as well as values, and a search in user mode with interpret on the field reads a typed label as its value. The field must be a string field with facet and without hierarchy; otherwise the request returns settings:fields:values_unsupported. At most 10000 values per field. See Field settings.Example
{ "value": "S", "order": 1, "labels": { "en": "Small", "sv": "Liten" }}3 properties
valuestringsettings:fields:values_invalid."S"orderintegerdeclared, lower first; values sharing an order are sorted by count. If omitted, the value is ordered by count after every value that has an order, so labels can be declared without an order.- Format
- int32
1labelsmap of stringsv, en-GB). A search answers the label of its locale, matched as closely as the tags tell apart, and the label of the field's default locale where its own has none. A tag that is not canonical, or a blank label, returns settings:fields:values_invalid.1 property
<key>stringsuggestSuggestPOST /v1alpha1/indexes/{name}/suggest. The field must be a string field with facet and without hierarchy; otherwise the request returns settings:fields:suggest_unsupported. Carries no options. See Suggesting what to search for.{}Responses
ETag header.SearchSettingsInfo
The search settings of an index as stored, together with the observed status reported by the answering node. See Search settings.
rankingRankingExample
{ "tieBreakers": [ { "field": "sales", "direction": "descending" } ], "signals": [ { "field": "purchases", "saturation": { "pivot": 50 }, "weight": 0.5 } ]}2 properties
tieBreakersTieBreaker[]sort enabled.Example
{ "field": "sales", "direction": "descending"}2 properties
fieldstringrequiredsort enabled."sales"directionDirectiondescending.- Default
- "descending"
- Values
- "ascending", "descending"
signalsSignalDefinition[]signals adds to these rules or replaces them based on signalsMode.Example
{ "field": "purchases", "saturation": { "pivot": 50 }, "weight": 0.5}5 properties
fieldstringrequired"purchases"saturationRankingSaturationint32, int64, float and double fields.Example
{ "pivot": 50}1 property
pivotnumberrequired0.- Format
- double
50decayRankingDecaytimestamp fields.Example
{ "halfLife": 604800}1 property
halfLifeintegerrequired0.- Format
- int64
604800linearRankingLinearvalue / ceiling held between 0 and 1. For int32, int64, float and double fields holding a score computed elsewhere, such as an engagement score between 0 and 1.Example
{ "ceiling": 1}1 property
ceilingnumberrequired0.- Format
- double
1weightnumber1, a document at the top of the signal reaches twice the score of one holding no value at all.- Default
- 1
- Format
- float
synonymsmap of QuerySynonyms1 property
<key>QuerySynonymsExample
{ "rules": [ { "equivalent": [ "laptop", "notebook" ] } ], "fields": [ "name" ], "boost": 0.8}3 properties
rulesRule[]resources.Example
{ "equivalent": [ "car", "automobile" ]}2 properties
equivalentstring[]mappingMappingfrom also match searches for any term in to, but not the reverse.Example
{ "from": [ "ny" ], "to": [ "new york" ]}2 properties
fromstring[]requiredtostring[]requiredfieldsstring[]boostnumber0.8. Values below 1 rank a document holding the typed term above one holding only a synonym. A value of 1 weighs synonyms and typed terms equally.- Format
- float
0.8typoExclusionsmap of TypoExclusions1 property
<key>TypoExclusionsExample
{ "words": [ "adidas", "X-15" ], "fields": [ "name" ]}2 properties
wordsstring[]fieldsstring[]fieldsmap of FieldSettings1 property
<key>FieldSettingsExample
{ "interpret": {}, "suggest": {}, "values": [ { "value": "S", "order": 1, "labels": { "en": "Small", "sv": "Liten" } } ]}3 properties
interpretInterpretUsageuser mode, as a filter on the field. The field must be a string field with filter and facet and without hierarchy; otherwise the request returns settings:fields:interpret_unsupported. Carries no options. See Reading the values of a field.{}valuesDeclaredValue[]order and labels per locale. A facet with "order": "declared" answers these values first, by order, and every other value after them by count. A facet answers each value's label in the locale of the search, a prefix search of the facet matches labels as well as values, and a search in user mode with interpret on the field reads a typed label as its value. The field must be a string field with facet and without hierarchy; otherwise the request returns settings:fields:values_unsupported. At most 10000 values per field. See Field settings.Example
{ "value": "S", "order": 1, "labels": { "en": "Small", "sv": "Liten" }}3 properties
valuestringsettings:fields:values_invalid."S"orderintegerdeclared, lower first; values sharing an order are sorted by count. If omitted, the value is ordered by count after every value that has an order, so labels can be declared without an order.- Format
- int32
1labelsmap of stringsv, en-GB). A search answers the label of its locale, matched as closely as the tags tell apart, and the label of the field's default locale where its own has none. A tag that is not canonical, or a blank label, returns settings:fields:values_invalid.1 property
<key>stringsuggestSuggestPOST /v1alpha1/indexes/{name}/suggest. The field must be a string field with facet and without hierarchy; otherwise the request returns settings:fields:suggest_unsupported. Carries no options. See Suggesting what to search for.{}versionstringETag header. Pass this value in the If-Match header on PUT and PATCH requests to prevent overwriting concurrent updates; a mismatch returns 412."9f2c1a0b3d4e5f60"unsupportedFeaturesstring[]freshnessstringPUT and a PATCH, and omitted on a GET. Pass it as freshness.atLeast on a search, and the search is answered with these settings in force whichever node it lands on. Opaque; pass it back unchanged. See Freshness."AQoIcHJvZHVjdHMiIiJhYjEyY2QzNCI"ETag header.SearchSettingsInfo
The search settings of an index as stored, together with the observed status reported by the answering node. See Search settings.
rankingRankingExample
{ "tieBreakers": [ { "field": "sales", "direction": "descending" } ], "signals": [ { "field": "purchases", "saturation": { "pivot": 50 }, "weight": 0.5 } ]}2 properties
tieBreakersTieBreaker[]sort enabled.Example
{ "field": "sales", "direction": "descending"}2 properties
fieldstringrequiredsort enabled."sales"directionDirectiondescending.- Default
- "descending"
- Values
- "ascending", "descending"
signalsSignalDefinition[]signals adds to these rules or replaces them based on signalsMode.Example
{ "field": "purchases", "saturation": { "pivot": 50 }, "weight": 0.5}5 properties
fieldstringrequired"purchases"saturationRankingSaturationint32, int64, float and double fields.Example
{ "pivot": 50}1 property
pivotnumberrequired0.- Format
- double
50decayRankingDecaytimestamp fields.Example
{ "halfLife": 604800}1 property
halfLifeintegerrequired0.- Format
- int64
604800linearRankingLinearvalue / ceiling held between 0 and 1. For int32, int64, float and double fields holding a score computed elsewhere, such as an engagement score between 0 and 1.Example
{ "ceiling": 1}1 property
ceilingnumberrequired0.- Format
- double
1weightnumber1, a document at the top of the signal reaches twice the score of one holding no value at all.- Default
- 1
- Format
- float
synonymsmap of QuerySynonyms1 property
<key>QuerySynonymsExample
{ "rules": [ { "equivalent": [ "laptop", "notebook" ] } ], "fields": [ "name" ], "boost": 0.8}3 properties
rulesRule[]resources.Example
{ "equivalent": [ "car", "automobile" ]}2 properties
equivalentstring[]mappingMappingfrom also match searches for any term in to, but not the reverse.Example
{ "from": [ "ny" ], "to": [ "new york" ]}2 properties
fromstring[]requiredtostring[]requiredfieldsstring[]boostnumber0.8. Values below 1 rank a document holding the typed term above one holding only a synonym. A value of 1 weighs synonyms and typed terms equally.- Format
- float
0.8typoExclusionsmap of TypoExclusions1 property
<key>TypoExclusionsExample
{ "words": [ "adidas", "X-15" ], "fields": [ "name" ]}2 properties
wordsstring[]fieldsstring[]fieldsmap of FieldSettings1 property
<key>FieldSettingsExample
{ "interpret": {}, "suggest": {}, "values": [ { "value": "S", "order": 1, "labels": { "en": "Small", "sv": "Liten" } } ]}3 properties
interpretInterpretUsageuser mode, as a filter on the field. The field must be a string field with filter and facet and without hierarchy; otherwise the request returns settings:fields:interpret_unsupported. Carries no options. See Reading the values of a field.{}valuesDeclaredValue[]order and labels per locale. A facet with "order": "declared" answers these values first, by order, and every other value after them by count. A facet answers each value's label in the locale of the search, a prefix search of the facet matches labels as well as values, and a search in user mode with interpret on the field reads a typed label as its value. The field must be a string field with facet and without hierarchy; otherwise the request returns settings:fields:values_unsupported. At most 10000 values per field. See Field settings.Example
{ "value": "S", "order": 1, "labels": { "en": "Small", "sv": "Liten" }}3 properties
valuestringsettings:fields:values_invalid."S"orderintegerdeclared, lower first; values sharing an order are sorted by count. If omitted, the value is ordered by count after every value that has an order, so labels can be declared without an order.- Format
- int32
1labelsmap of stringsv, en-GB). A search answers the label of its locale, matched as closely as the tags tell apart, and the label of the field's default locale where its own has none. A tag that is not canonical, or a blank label, returns settings:fields:values_invalid.1 property
<key>stringsuggestSuggestPOST /v1alpha1/indexes/{name}/suggest. The field must be a string field with facet and without hierarchy; otherwise the request returns settings:fields:suggest_unsupported. Carries no options. See Suggesting what to search for.{}versionstringETag header. Pass this value in the If-Match header on PUT and PATCH requests to prevent overwriting concurrent updates; a mismatch returns 412."9f2c1a0b3d4e5f60"unsupportedFeaturesstring[]freshnessstringPUT and a PATCH, and omitted on a GET. Pass it as freshness.atLeast on a search, and the search is answered with these settings in force whichever node it lands on. Opaque; pass it back unchanged. See Freshness."AQoIcHJvZHVjdHMiIiJhYjEyY2QzNCI"ErrorResponse
The body of every failed request. Error codes use colon-separated namespaces such as index:field:name_invalid, are stable across API versions, and are never renamed or reused, so clients match on code rather than on message. See Errors.
codestringvalidation and the individual problems are listed in errors. For all other failures, this matches the code of the single entry in errors."validation"messagestringcode rather than on message. When a validation failure contains one problem, this is that problem's message. When it contains several, it reads Request contains N errors."Request contains 2 errors"errorsErrorDetail[]Example
{ "code": "index:field:primary_key:multiple_unsupported", "message": "Field `id` is marked as a primary key and multiple, primary keys can not have multiple values", "path": "id"}4 properties
codestring"index:field:primary_key:multiple_unsupported"messagestring"Field `id` is marked as a primary key and multiple, primary keys can not have multiple values"pathstringfields.title or documents[1].nonexistent. Names join with ., one element of a list reads [n] counted from zero, and a key of a free-form map such as metadata goes in brackets and double quotes when it holds a dot or a bracket, as metadata["build.sha"]. A field inside an object field carries its own dotted path, so a path here reaches a field the same way a query does. Omitted when the problem applies to the request as a whole. See API conventions."id"argumentsmap of string1 property
<key>stringError codes
- request:body_required
- The request carries no body.
- request:value_required
- A property of the settings that needs a value is `null`.
- settings:synonyms:field_unknown
- A synonym set names a field the generation does not have.
- settings:synonyms:field_unsupported
- A synonym set names a field that is not searched as text.
- settings:synonyms:boost_out_of_range
- The boost of a synonym set is not a positive number.
- settings:synonyms:rule_invalid
- A synonym rule is not exactly one kind - equivalent words, or a one-way mapping.
- settings:typo_exclusions:field_unknown
- A typo exclusion names a field the generation does not have.
- settings:typo_exclusions:field_unsupported
- A typo exclusion names a field that is not searched as text.
- settings:fields:field_unknown
- The field settings name a field the generation does not have.
- settings:fields:interpret_unsupported
- The settings read the values of a field that is not a `string` field with `filter` and `facet` and without `hierarchy`.
- settings:fields:values_unsupported
- The settings declare values of a field that is not a `string` field with `facet` and without `hierarchy`.
- settings:fields:values_invalid
- A declared value carries no `value`, repeats one, is labelled under a tag that is not canonical BCP 47, holds a blank label, or the field declares more than 10000 values.
- settings:fields:suggest_unsupported
- The settings suggest the values of a field that is not a `string` field with `facet` and without `hierarchy`.
- index:ranking:field_not_sortable
- A ranking signal names a field that is not sortable.
- index:ranking:field_unknown
- A tie-breaker names a field the generation does not have.
- index:ranking:wildcard_unsupported
- A tie-breaker names fields with a wildcard. A tie-breaker orders by one field.
- index:ranking:field_duplicate
- Two tie-breakers name the same field.
- index:ranking:signal:field_unknown
- A ranking signal names a field the generation does not have.
- index:ranking:signal:wildcard_unsupported
- A ranking signal names fields with a wildcard. A signal reads one field.
- index:ranking:signal:field_not_sortable
- A ranking signal names a field that holds no value to read.
- index:ranking:signal:shape_required
- A ranking signal says no shape to read its field with.
- index:ranking:signal:shape_unsupported
- A ranking signal reads its field with a shape that the type of the field has no meaning for.
- index:ranking:signal:shape_invalid
- A ranking signal is not exactly one of `saturation`, `decay` and `linear`.
- index:ranking:signal:pivot_out_of_range
- The `pivot` of a saturation signal is not a number above zero.
- index:ranking:signal:half_life_out_of_range
- The `halfLife` of a decay signal is not a number of seconds above zero.
- index:ranking:signal:ceiling_out_of_range
- The `ceiling` of a linear signal is not a number above zero.
- index:ranking:signal:weight_out_of_range
- The `weight` of a ranking signal is below zero or is not a finite number.
WWW-Authenticate: Bearer.ErrorResponse
The body of every failed request. Error codes use colon-separated namespaces such as index:field:name_invalid, are stable across API versions, and are never renamed or reused, so clients match on code rather than on message. See Errors.
codestringvalidation and the individual problems are listed in errors. For all other failures, this matches the code of the single entry in errors."validation"messagestringcode rather than on message. When a validation failure contains one problem, this is that problem's message. When it contains several, it reads Request contains N errors."Request contains 2 errors"errorsErrorDetail[]Example
{ "code": "index:field:primary_key:multiple_unsupported", "message": "Field `id` is marked as a primary key and multiple, primary keys can not have multiple values", "path": "id"}4 properties
codestring"index:field:primary_key:multiple_unsupported"messagestring"Field `id` is marked as a primary key and multiple, primary keys can not have multiple values"pathstringfields.title or documents[1].nonexistent. Names join with ., one element of a list reads [n] counted from zero, and a key of a free-form map such as metadata goes in brackets and double quotes when it holds a dot or a bracket, as metadata["build.sha"]. A field inside an object field carries its own dotted path, so a path here reaches a field the same way a query does. Omitted when the problem applies to the request as a whole. See API conventions."id"argumentsmap of string1 property
<key>stringError codes
- auth:unauthenticated
- The request carries no credential this node accepts.
settings.write permission.ErrorResponse
The body of every failed request. Error codes use colon-separated namespaces such as index:field:name_invalid, are stable across API versions, and are never renamed or reused, so clients match on code rather than on message. See Errors.
codestringvalidation and the individual problems are listed in errors. For all other failures, this matches the code of the single entry in errors."validation"messagestringcode rather than on message. When a validation failure contains one problem, this is that problem's message. When it contains several, it reads Request contains N errors."Request contains 2 errors"errorsErrorDetail[]Example
{ "code": "index:field:primary_key:multiple_unsupported", "message": "Field `id` is marked as a primary key and multiple, primary keys can not have multiple values", "path": "id"}4 properties
codestring"index:field:primary_key:multiple_unsupported"messagestring"Field `id` is marked as a primary key and multiple, primary keys can not have multiple values"pathstringfields.title or documents[1].nonexistent. Names join with ., one element of a list reads [n] counted from zero, and a key of a free-form map such as metadata goes in brackets and double quotes when it holds a dot or a bracket, as metadata["build.sha"]. A field inside an object field carries its own dotted path, so a path here reaches a field the same way a query does. Omitted when the problem applies to the request as a whole. See API conventions."id"argumentsmap of string1 property
<key>stringError codes
- auth:forbidden
- The key is accepted but does not hold the `settings.write` permission.
If-Match header was sent for an index that has no settings (settings:not_found).ErrorResponse
The body of every failed request. Error codes use colon-separated namespaces such as index:field:name_invalid, are stable across API versions, and are never renamed or reused, so clients match on code rather than on message. See Errors.
codestringvalidation and the individual problems are listed in errors. For all other failures, this matches the code of the single entry in errors."validation"messagestringcode rather than on message. When a validation failure contains one problem, this is that problem's message. When it contains several, it reads Request contains N errors."Request contains 2 errors"errorsErrorDetail[]Example
{ "code": "index:field:primary_key:multiple_unsupported", "message": "Field `id` is marked as a primary key and multiple, primary keys can not have multiple values", "path": "id"}4 properties
codestring"index:field:primary_key:multiple_unsupported"messagestring"Field `id` is marked as a primary key and multiple, primary keys can not have multiple values"pathstringfields.title or documents[1].nonexistent. Names join with ., one element of a list reads [n] counted from zero, and a key of a free-form map such as metadata goes in brackets and double quotes when it holds a dot or a bracket, as metadata["build.sha"]. A field inside an object field carries its own dotted path, so a path here reaches a field the same way a query does. Omitted when the problem applies to the request as a whole. See API conventions."id"argumentsmap of string1 property
<key>stringError codes
- index:not_found
- The node holds no such index, or the key has no permission on it.
- settings:not_found
- An `If-Match` header was sent and the index has no settings for it to match.
ErrorResponse
The body of every failed request. Error codes use colon-separated namespaces such as index:field:name_invalid, are stable across API versions, and are never renamed or reused, so clients match on code rather than on message. See Errors.
codestringvalidation and the individual problems are listed in errors. For all other failures, this matches the code of the single entry in errors."validation"messagestringcode rather than on message. When a validation failure contains one problem, this is that problem's message. When it contains several, it reads Request contains N errors."Request contains 2 errors"errorsErrorDetail[]Example
{ "code": "index:field:primary_key:multiple_unsupported", "message": "Field `id` is marked as a primary key and multiple, primary keys can not have multiple values", "path": "id"}4 properties
codestring"index:field:primary_key:multiple_unsupported"messagestring"Field `id` is marked as a primary key and multiple, primary keys can not have multiple values"pathstringfields.title or documents[1].nonexistent. Names join with ., one element of a list reads [n] counted from zero, and a key of a free-form map such as metadata goes in brackets and double quotes when it holds a dot or a bracket, as metadata["build.sha"]. A field inside an object field carries its own dotted path, so a path here reaches a field the same way a query does. Omitted when the problem applies to the request as a whole. See API conventions."id"argumentsmap of string1 property
<key>stringError codes
- index:no_live_generation
- The index has no live generation. Promote one and send the request again.
- storage:conflict
- Other writers kept changing the settings. The stored settings are unchanged; send the request again.
- storage:io_error
- Settings storage answered with an error. Send the request again.
- storage:unavailable
- Settings storage could not be reached. Send the request again once it answers.
- indexer:unavailable
- No node is available to write the index. Send the request again once one is.
If-Match version does not match the stored settings. Read them again and rebuild the change on the version that comes back.ErrorResponse
The body of every failed request. Error codes use colon-separated namespaces such as index:field:name_invalid, are stable across API versions, and are never renamed or reused, so clients match on code rather than on message. See Errors.
codestringvalidation and the individual problems are listed in errors. For all other failures, this matches the code of the single entry in errors."validation"messagestringcode rather than on message. When a validation failure contains one problem, this is that problem's message. When it contains several, it reads Request contains N errors."Request contains 2 errors"errorsErrorDetail[]Example
{ "code": "index:field:primary_key:multiple_unsupported", "message": "Field `id` is marked as a primary key and multiple, primary keys can not have multiple values", "path": "id"}4 properties
codestring"index:field:primary_key:multiple_unsupported"messagestring"Field `id` is marked as a primary key and multiple, primary keys can not have multiple values"pathstringfields.title or documents[1].nonexistent. Names join with ., one element of a list reads [n] counted from zero, and a key of a free-form map such as metadata goes in brackets and double quotes when it holds a dot or a bracket, as metadata["build.sha"]. A field inside an object field carries its own dotted path, so a path here reaches a field the same way a query does. Omitted when the problem applies to the request as a whole. See API conventions."id"argumentsmap of string1 property
<key>stringError codes
- settings:version_mismatch
- The `If-Match` version is not the one the stored settings are at. Read them again and rebuild the change.
ErrorResponse
The body of every failed request. Error codes use colon-separated namespaces such as index:field:name_invalid, are stable across API versions, and are never renamed or reused, so clients match on code rather than on message. See Errors.
codestringvalidation and the individual problems are listed in errors. For all other failures, this matches the code of the single entry in errors."validation"messagestringcode rather than on message. When a validation failure contains one problem, this is that problem's message. When it contains several, it reads Request contains N errors."Request contains 2 errors"errorsErrorDetail[]Example
{ "code": "index:field:primary_key:multiple_unsupported", "message": "Field `id` is marked as a primary key and multiple, primary keys can not have multiple values", "path": "id"}4 properties
codestring"index:field:primary_key:multiple_unsupported"messagestring"Field `id` is marked as a primary key and multiple, primary keys can not have multiple values"pathstringfields.title or documents[1].nonexistent. Names join with ., one element of a list reads [n] counted from zero, and a key of a free-form map such as metadata goes in brackets and double quotes when it holds a dot or a bracket, as metadata["build.sha"]. A field inside an object field carries its own dotted path, so a path here reaches a field the same way a query does. Omitted when the problem applies to the request as a whole. See API conventions."id"argumentsmap of string1 property
<key>stringError codes
- indexer:unreachable
- The request was forwarded to the index writer and the writer did not answer. Send it again.
Authorization
- Permission
- settings.write
- Checked on
- The index the path names
- Roles
admin
An API key sent as a bearer token, such as Authorization: Bearer exok_4ff6b760264c1918_ePQcdT1O9HSATZoXfDbT8hhHGsP9VpZH. A key carries grants that pair permissions with index patterns; the permission each endpoint needs is named beside it. Nodes running with EXOFIND_AUTH_MODE=none accept requests without a credential, and a node with EXOFIND_AUTH_ANONYMOUS_KEY set serves requests that carry none with the permissions of that key.
Exofind is built by Level Four AB and is available under the Apache License 2.0.