diff --git a/compiler-rs/clients_schema/src/lib.rs b/compiler-rs/clients_schema/src/lib.rs index 7df0bc82e7..d8f2d16f3c 100644 --- a/compiler-rs/clients_schema/src/lib.rs +++ b/compiler-rs/clients_schema/src/lib.rs @@ -55,6 +55,11 @@ pub trait Documented { fn description(&self) -> Option<&str>; } +pub trait ExternalDocument { + fn ext_doc_id(&self) -> Option<&str>; + fn ext_doc_url(&self) -> Option<&str>; +} + #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct TypeName { // Order is important for Ord implementation @@ -314,6 +319,12 @@ pub struct Property { #[serde(skip_serializing_if = "Option::is_none")] pub doc_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub ext_doc_url: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub ext_doc_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub server_default: Option, @@ -355,6 +366,16 @@ impl Documented for Property { } } +impl ExternalDocument for Property { + fn ext_doc_url(&self) -> Option<&str> { + self.ext_doc_url.as_deref() + } + + fn ext_doc_id(&self) -> Option<&str> { + self.ext_doc_id.as_deref() + } +} + #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(untagged)] pub enum ServerDefault { @@ -477,6 +498,13 @@ pub struct BaseType { #[serde(skip_serializing_if = "Option::is_none")] pub doc_id: Option, + /// Link to public documentation + #[serde(skip_serializing_if = "Option::is_none")] + pub ext_doc_url: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub ext_doc_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub deprecation: Option, @@ -512,6 +540,8 @@ impl BaseType { description: None, variant_name: None, spec_location: None, + ext_doc_id: None, + ext_doc_url: None, } } } @@ -530,6 +560,16 @@ impl Documented for BaseType { } } +impl ExternalDocument for BaseType { + fn ext_doc_url(&self) -> Option<&str> { + self.ext_doc_url.as_deref() + } + + fn ext_doc_id(&self) -> Option<&str> { + self.ext_doc_id.as_deref() + } +} + trait WithBaseType { fn base(&self) -> &BaseType; } @@ -548,6 +588,16 @@ impl Documented for T { } } +impl ExternalDocument for T { + fn ext_doc_url(&self) -> Option<&str> { + self.base().doc_url() + } + + fn ext_doc_id(&self) -> Option<&str> { + self.base().doc_id() + } +} + /// An interface type #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] @@ -809,6 +859,12 @@ pub struct Endpoint { #[serde(skip_serializing_if = "Option::is_none")] pub doc_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub ext_doc_id: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub ext_doc_url: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub deprecation: Option, @@ -854,6 +910,16 @@ impl Documented for Endpoint { } } +impl ExternalDocument for Endpoint { + fn ext_doc_url(&self) -> Option<&str> { + self.ext_doc_url.as_deref() + } + + fn ext_doc_id(&self) -> Option<&str> { + self.ext_doc_id.as_deref() + } +} + #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Privileges { diff --git a/compiler-rs/clients_schema_to_openapi/src/paths.rs b/compiler-rs/clients_schema_to_openapi/src/paths.rs index 878646970a..ed7e145ce9 100644 --- a/compiler-rs/clients_schema_to_openapi/src/paths.rs +++ b/compiler-rs/clients_schema_to_openapi/src/paths.rs @@ -203,8 +203,8 @@ pub fn add_endpoint( }, summary: sum_desc.summary, description: sum_desc.description, - // external_docs: tac.convert_external_docs(endpoint), - external_docs: None, // Need values that differ from client purposes + external_docs: tac.convert_external_docs(endpoint), + // external_docs: None, // Need values that differ from client purposes operation_id: None, // set in clone_operation below with operation_counter parameters, request_body: request_body.clone(), diff --git a/compiler-rs/clients_schema_to_openapi/src/schemas.rs b/compiler-rs/clients_schema_to_openapi/src/schemas.rs index 00d0c69b4f..210755056b 100644 --- a/compiler-rs/clients_schema_to_openapi/src/schemas.rs +++ b/compiler-rs/clients_schema_to_openapi/src/schemas.rs @@ -209,9 +209,9 @@ impl<'a> TypesAndComponents<'a> { self.for_body(&response.body) } - pub fn convert_external_docs(&self, obj: &impl clients_schema::Documented) -> Option { + pub fn convert_external_docs(&self, obj: &impl clients_schema::ExternalDocument) -> Option { // FIXME: does the model contain resolved doc_id? - obj.doc_url().map(|url| { + obj.ext_doc_url().map(|url| { let branch: &str = self .model .info diff --git a/compiler-rs/compiler-wasm-lib/pkg/compiler_wasm_lib_bg.wasm b/compiler-rs/compiler-wasm-lib/pkg/compiler_wasm_lib_bg.wasm index def8ca610b..feb5be1194 100644 Binary files a/compiler-rs/compiler-wasm-lib/pkg/compiler_wasm_lib_bg.wasm and b/compiler-rs/compiler-wasm-lib/pkg/compiler_wasm_lib_bg.wasm differ diff --git a/compiler-rs/openapi_to_clients_schema/src/types.rs b/compiler-rs/openapi_to_clients_schema/src/types.rs index 647d57afcd..b31d89c567 100644 --- a/compiler-rs/openapi_to_clients_schema/src/types.rs +++ b/compiler-rs/openapi_to_clients_schema/src/types.rs @@ -121,7 +121,7 @@ fn generate_type_for_schema( }) } if let Some(ref docs) = data.external_docs { - base.doc_url = Some(docs.url.clone()) + base.ext_doc_url = Some(docs.ext_docs_url.clone()) } // TODO: data.readonly/writeonly -> OverloadOf? diff --git a/compiler/src/model/build-model.ts b/compiler/src/model/build-model.ts index dffbde8b7c..5d9187f6c8 100644 --- a/compiler/src/model/build-model.ts +++ b/compiler/src/model/build-model.ts @@ -68,6 +68,7 @@ export function compileEndpoints (): Record { description: spec.documentation.description, docUrl: spec.documentation.url, docTag: spec.docTag, + extDocUrl: spec.externalDocs?.url, // Setting these values by default should be removed // when we no longer use rest-api-spec stubs as the // source of truth for stability/visibility. diff --git a/compiler/src/model/json-spec.ts b/compiler/src/model/json-spec.ts index ff4739b308..5f2f689c8d 100644 --- a/compiler/src/model/json-spec.ts +++ b/compiler/src/model/json-spec.ts @@ -62,6 +62,10 @@ export interface JsonSpec { required?: boolean } docTag?: string + externalDocs?: { + url: string + description?: string + } } export default function buildJsonSpec (): Map { diff --git a/compiler/src/model/metamodel.ts b/compiler/src/model/metamodel.ts index f67053936a..9f01d7a956 100644 --- a/compiler/src/model/metamodel.ts +++ b/compiler/src/model/metamodel.ts @@ -126,6 +126,8 @@ export class Property { description?: string docUrl?: string docId?: string + extDocId?: string + extDocUrl?: string serverDefault?: boolean | string | number | string[] | number[] deprecation?: Deprecation availability?: Availabilities @@ -158,6 +160,8 @@ export abstract class BaseType { /** Link to public documentation */ docUrl?: string docId?: string + extDocId?: string + extDocUrl?: string deprecation?: Deprecation /** If this endpoint has a quirk that needs special attention, give a short explanation about it */ esQuirk?: string @@ -406,6 +410,8 @@ export class Endpoint { description: string docUrl: string docId?: string + extDocId?: string + extDocUrl?: string deprecation?: Deprecation availability: Availabilities docTag?: string diff --git a/compiler/src/model/utils.ts b/compiler/src/model/utils.ts index 60e8ab7f31..769de32bfc 100644 --- a/compiler/src/model/utils.ts +++ b/compiler/src/model/utils.ts @@ -625,7 +625,7 @@ export function hoistRequestAnnotations ( request: model.Request, jsDocs: JSDoc[], mappings: Record, response: model.TypeName | null ): void { const knownRequestAnnotations = [ - 'rest_spec_name', 'behavior', 'class_serializer', 'index_privileges', 'cluster_privileges', 'doc_id', 'availability', 'doc_tag' + 'rest_spec_name', 'behavior', 'class_serializer', 'index_privileges', 'cluster_privileges', 'doc_id', 'availability', 'doc_tag', 'ext_doc_id' ] // in most of the cases the jsDocs comes in a single block, // but it can happen that the user defines multiple single line jsDoc. @@ -685,6 +685,12 @@ export function hoistRequestAnnotations ( const docUrl = docIds.find(entry => entry[0] === value.trim()) assert(jsDocs, docUrl != null, `The @doc_id '${value.trim()}' is not present in _doc_ids/table.csv`) endpoint.docUrl = docUrl[1].replace(/\r/g, '') + } else if (tag === 'ext_doc_id') { + assert(jsDocs, value.trim() !== '', `Request ${request.name.name}'s @ext_doc_id cannot be empty`) + endpoint.extDocId = value.trim() + const docUrl = docIds.find(entry => entry[0] === value.trim()) + assert(jsDocs, docUrl != null, `The @ext_doc_id '${value.trim()}' is not present in _doc_ids/table.csv`) + endpoint.extDocUrl = docUrl[1].replace(/\r/g, '') } else if (tag === 'availability') { // The @availability jsTag is different than most because it allows // multiple values within the same docstring, hence needing to parse @@ -713,7 +719,7 @@ export function hoistTypeAnnotations (type: model.TypeDefinition, jsDocs: JSDoc[ assert(jsDocs, jsDocs.length < 2, 'Use a single multiline jsDoc block instead of multiple single line blocks') const validTags = ['class_serializer', 'doc_url', 'doc_id', 'behavior', 'variants', 'variant', 'shortcut_property', - 'codegen_names', 'non_exhaustive', 'es_quirk', 'behavior_meta'] + 'codegen_names', 'non_exhaustive', 'es_quirk', 'behavior_meta', 'ext_doc_id'] const tags = parseJsDocTags(jsDocs) if (jsDocs.length === 1) { const description = jsDocs[0].getDescription() @@ -742,6 +748,12 @@ export function hoistTypeAnnotations (type: model.TypeDefinition, jsDocs: JSDoc[ const docUrl = docIds.find(entry => entry[0] === value.trim()) assert(jsDocs, docUrl != null, `The @doc_id '${value.trim()}' is not present in _doc_ids/table.csv`) type.docUrl = docUrl[1].replace(/\r/g, '') + } else if (tag === 'ext_doc_id') { + assert(jsDocs, value.trim() !== '', `Type ${type.name.namespace}.${type.name.name}'s @ext_doc_id cannot be empty`) + type.extDocId = value.trim() + const docUrl = docIds.find(entry => entry[0] === value.trim()) + assert(jsDocs, docUrl != null, `The @ext_doc_id '${value.trim()}' is not present in _doc_ids/table.csv`) + type.extDocUrl = docUrl[1].replace(/\r/g, '') } else if (tag === 'codegen_names') { type.codegenNames = parseCommaSeparated(value) assert(jsDocs, @@ -764,7 +776,7 @@ function hoistPropertyAnnotations (property: model.Property, jsDocs: JSDoc[]): v assert(jsDocs, jsDocs.length < 2, 'Use a single multiline jsDoc block instead of multiple single line blocks') const validTags = ['prop_serializer', 'doc_url', 'aliases', 'codegen_name', 'server_default', - 'variant', 'doc_id', 'es_quirk', 'availability'] + 'variant', 'doc_id', 'es_quirk', 'availability', 'ext_doc_id'] const tags = parseJsDocTags(jsDocs) if (jsDocs.length === 1) { const description = jsDocs[0].getDescription() @@ -808,6 +820,13 @@ function hoistPropertyAnnotations (property: model.Property, jsDocs: JSDoc[]): v if (docUrl != null) { property.docUrl = docUrl[1].replace(/\r/g, '') } + } else if (tag === 'ext_doc_id') { + assert(jsDocs, value.trim() !== '', `Property ${property.name}'s @ext_doc_id is cannot be empty`) + property.extDocId = value + const docUrl = docIds.find(entry => entry[0] === value) + if (docUrl != null) { + property.extDocUrl = docUrl[1].replace(/\r/g, '') + } } else if (tag === 'server_default') { assert(jsDocs, property.type.kind === 'instance_of' || property.type.kind === 'union_of' || property.type.kind === 'array_of', `Default values can only be configured for instance_of or union_of types, you are using ${property.type.kind}`) assert(jsDocs, !property.required, 'Default values can only be specified on optional properties') diff --git a/docs/doc-comments-guide.md b/docs/doc-comments-guide.md index c8174e8ef9..d801c7a8dd 100644 --- a/docs/doc-comments-guide.md +++ b/docs/doc-comments-guide.md @@ -58,7 +58,7 @@ export interface Request extends RequestBase { ([original source code](https://github.com/elastic/elasticsearch-specification/blob/main/specification/_global/rank_eval/RankEvalRequest.ts)) For more information about the tags in this example (and other common tags such -as `@deprecated` and `@doc_id`), refer to the [Modeling Guide](https://github.com/elastic/elasticsearch-specification/blob/main/docs/modeling-guide.md#additional-information). +as `@deprecated` and `@ext_doc_id`), refer to the [Modeling Guide](https://github.com/elastic/elasticsearch-specification/blob/main/docs/modeling-guide.md#additional-information). ## Markup language @@ -76,9 +76,9 @@ GFM also has implementations in most languages, meaning that code generators wil **Doc comments are reference material**: they should be as succinct as possible while capturing all the necessary information to use the elements they're documenting. Remember that they will often show up in small IDE autocompletion popups! -In particular, doc comments are not the right place for tutorials or examples, which should be in dedicated documentation pages. These pages can of course be linked from the doc comments. +In particular, doc comments are not the right place for tutorials or extended examples, which should be in dedicated documentation pages. To reduce the risk of broken links, use `@ext_doc_id` to implement a link to additional documentation. -API endpoints will also have a `@doc_url` JSDoc tag that links to that API's detailed documentation page. +API endpoints can also have `@doc_id` or `@doc_url` JSDoc tags that enable clients to link to the API docs, for example. ### Multi-paragraph doc comments diff --git a/docs/modeling-guide.md b/docs/modeling-guide.md index b34470daf5..0a9246759e 100644 --- a/docs/modeling-guide.md +++ b/docs/modeling-guide.md @@ -598,37 +598,61 @@ class Foo { } ``` -#### `@doc_url` +#### `@doc_id` -The documentation url for the parameter or definition. -If possible, use `@doc_id`. +An identifier that can be used for generating the doc url in clients. +The unique id/url pair must exist in `specification/_doc_ids/table.csv`. +NOTE: This link is *not* included in the OpenAPI output. ```ts -class Foo { - bar: string - /** @doc_url http://localhost:9200 */ - baz?: string - faz: string +/** + * @rest_spec_name api + * @doc_id foobar + */ +class Request { + ... } ``` -#### `@doc_id` +```csv +foobar,/guide/en/example +``` + +#### `@ext_doc_id` -The documentation id that can be used for generating the doc url. -You must add the id/url pair in `specification/_doc_ids/table.csv`. +An identifier for a link. +The unique id/url pair must exist in `specification/_doc_ids/table.csv`. +NOTE: This link is included in the OpenAPI output. ```ts /** - * @rest_spec_name api - * @doc_id foobar + * @variants container + * @non_exhaustive + * @ext_doc_id query-dsl */ -class Request { +export class QueryContainer { ... } ``` ```csv -foobar,/guide/en/example +query-dsl,/guide/en/example +``` + + +#### `@doc_url` + +The documentation url for the parameter or definition. +To reduce the risk of broken links, use `@doc_id` instead. +NOTE: This link is *not* included in the OpenAPI output. + +```ts +class Foo { + bar: string + /** @doc_url http://localhost:9200 */ + baz?: string + faz: string +} ``` #### `@doc_tag` diff --git a/docs/overlays/elasticsearch-shared-overlays.yaml b/docs/overlays/elasticsearch-shared-overlays.yaml index 2609c7b94f..885e7ae97a 100644 --- a/docs/overlays/elasticsearch-shared-overlays.yaml +++ b/docs/overlays/elasticsearch-shared-overlays.yaml @@ -240,9 +240,6 @@ actions: description: Add x-model and updated externalDocs for the QueryContainer object update: x-model: true - externalDocs: - url: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html - description: Query domain specific language (DSL) reference - target: "$.components['schemas']['_types.analysis:CharFilter'].oneOf" description: Remove existing oneOf definition for CharFilter remove: true diff --git a/output/openapi/elasticsearch-openapi.json b/output/openapi/elasticsearch-openapi.json index 9c459fd9d0..aac893e7f4 100644 --- a/output/openapi/elasticsearch-openapi.json +++ b/output/openapi/elasticsearch-openapi.json @@ -2084,9 +2084,6 @@ "type": "object", "properties": { "remote_cluster": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-remote-clusters.html" - }, "description": "The remote cluster containing the leader indices to match against.", "type": "string" }, @@ -7662,9 +7659,6 @@ "type": "string" }, "params": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-rest.html#esql-rest-params" - }, "description": "To avoid any attempts of hacking or code injection, extract the values in a separate list of parameters. Use question mark placeholders (?) in the query string for each of the parameters.", "type": "array", "items": { @@ -16722,9 +16716,6 @@ "type": "object", "properties": { "allow_lazy_start": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "Specifies whether this job can start when there is insufficient machine\nlearning node capacity for it to be immediately assigned to a node. If\nset to `false` and a machine learning node with capacity to run the job\ncannot be immediately found, the API returns an error. If set to `true`,\nthe API does not return an error; the job waits in the `starting` state\nuntil sufficient machine learning node capacity is available. This\nbehavior is also affected by the cluster-wide\n`xpack.ml.max_lazy_ml_nodes` setting.", "type": "boolean" }, @@ -21281,9 +21272,6 @@ "type": "string" }, "model_memory_limit": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "The approximate maximum amount of memory resources that are permitted for\nanalytical processing. If your `elasticsearch.yml` file contains an\n`xpack.ml.max_model_memory_limit` setting, an error occurs when you try\nto create data frame analytics jobs that have `model_memory_limit` values\ngreater than that setting.", "type": "string" }, @@ -21292,9 +21280,6 @@ "type": "number" }, "allow_lazy_start": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "Specifies whether this job can start when there is insufficient machine\nlearning node capacity for it to be immediately assigned to a node.", "type": "boolean" } @@ -21687,9 +21672,6 @@ "type": "object", "properties": { "allow_lazy_open": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "Advanced configuration option. Specifies whether this job can open when\nthere is insufficient machine learning node capacity for it to be\nimmediately assigned to a node. If `false` and a machine learning node\nwith capacity to run the job cannot immediately be found, the open\nanomaly detection jobs API returns an error. However, this is also\nsubject to the cluster-wide `xpack.ml.max_lazy_ml_nodes` setting. If this\noption is set to `true`, the open anomaly detection jobs API does not\nreturn an error and the job waits in the opening state until sufficient\nmachine learning node capacity is available.", "type": "boolean" }, @@ -21723,16 +21705,10 @@ "$ref": "#/components/schemas/_types:Duration" }, "daily_model_snapshot_retention_after_days": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-ad-run-jobs.html#ml-ad-model-snapshots" - }, "description": "Advanced configuration option, which affects the automatic removal of old\nmodel snapshots for this job. It specifies a period of time (in days)\nafter which only the first snapshot per day is retained. This period is\nrelative to the timestamp of the most recent snapshot for this job. Valid\nvalues range from 0 to `model_snapshot_retention_days`. For jobs created\nbefore version 7.8.0, the default value matches\n`model_snapshot_retention_days`.", "type": "number" }, "model_snapshot_retention_days": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-ad-run-jobs.html#ml-ad-model-snapshots" - }, "description": "Advanced configuration option, which affects the automatic removal of old\nmodel snapshots for this job. It specifies the maximum period of time (in\ndays) that snapshots are retained. This period is relative to the\ntimestamp of the most recent snapshot for this job.", "type": "number" }, @@ -29958,9 +29934,6 @@ "type": "object", "properties": { "role_descriptors": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html" - }, "description": "An array of role descriptors for this API key. This parameter is optional. When it is not specified or is an empty array, then the API key will have a point in time snapshot of permissions of the authenticated user. If you supply role descriptors then the resultant permissions would be an intersection of API keys permissions and authenticated user’s permissions thereby limiting the access scope for API keys. The structure of role descriptor is the same as the request for create role API. For more details, see create or update roles API.", "type": "object", "additionalProperties": { @@ -35573,9 +35546,6 @@ ] }, "_types:Duration": { - "externalDocs": { - "url": "https://github.com/elastic/elasticsearch/blob/current/libs/core/src/main/java/org/elasticsearch/core/TimeValue.java" - }, "description": "A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and\n`d` (days). Also accepts \"0\" without a unit and \"-1\" to indicate an unspecified value.", "oneOf": [ { @@ -40452,9 +40422,6 @@ ] }, "_global.search._types:Context": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" - }, "description": "Text or location that we want similar documents for or a lookup to a document's field for the text.", "oneOf": [ { @@ -41086,9 +41053,6 @@ "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreQuery" }, "fuzzy": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html" - }, "description": "Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.", "type": "object", "additionalProperties": { @@ -41119,9 +41083,6 @@ "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" }, "intervals": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" - }, "description": "Returns documents based on the order and proximity of matching terms.", "type": "object", "additionalProperties": { @@ -41134,9 +41095,6 @@ "$ref": "#/components/schemas/_types:KnnQuery" }, "match": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" - }, "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", "type": "object", "additionalProperties": { @@ -41149,9 +41107,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" }, "match_bool_prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html" - }, "description": "Analyzes its input and constructs a `bool` query from the terms.\nEach term except the last is used in a `term` query.\nThe last term is used in a prefix query.", "type": "object", "additionalProperties": { @@ -41164,9 +41119,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchNoneQuery" }, "match_phrase": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html" - }, "description": "Analyzes the text and creates a phrase query out of the analyzed text.", "type": "object", "additionalProperties": { @@ -41176,9 +41128,6 @@ "maxProperties": 1 }, "match_phrase_prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html" - }, "description": "Returns documents that contain the words of a provided text, in the same order as provided.\nThe last term of the provided text is treated as a prefix, matching any words that begin with that term.", "type": "object", "additionalProperties": { @@ -41206,9 +41155,6 @@ "$ref": "#/components/schemas/_types.query_dsl:PinnedQuery" }, "prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" - }, "description": "Returns documents that contain a specific prefix in a provided field.", "type": "object", "additionalProperties": { @@ -41221,9 +41167,6 @@ "$ref": "#/components/schemas/_types.query_dsl:QueryStringQuery" }, "range": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" - }, "description": "Returns documents that contain terms within a provided range.", "type": "object", "additionalProperties": { @@ -41236,9 +41179,6 @@ "$ref": "#/components/schemas/_types.query_dsl:RankFeatureQuery" }, "regexp": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html" - }, "description": "Returns documents that contain terms matching a regular expression.", "type": "object", "additionalProperties": { @@ -41287,9 +41227,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" }, "span_term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-term-query.html" - }, "description": "Matches spans containing a term.", "type": "object", "additionalProperties": { @@ -41305,9 +41242,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SparseVectorQuery" }, "term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" - }, "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -41320,9 +41254,6 @@ "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" }, "terms_set": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-set-query.html" - }, "description": "Returns documents that contain a minimum number of exact terms in a provided field.\nTo return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -41333,9 +41264,6 @@ }, "text_expansion": { "deprecated": true, - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-text-expansion-query.html" - }, "description": "Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.", "type": "object", "additionalProperties": { @@ -41355,9 +41283,6 @@ "maxProperties": 1 }, "wildcard": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" - }, "description": "Returns documents that contain terms matching a wildcard pattern.", "type": "object", "additionalProperties": { @@ -41448,9 +41373,6 @@ ] }, "_types:MinimumShouldMatch": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html" - }, "description": "The minimum number of terms that should match as integer, percentage or range", "oneOf": [ { @@ -42131,15 +42053,9 @@ ] }, "_types:MultiTermQueryRewrite": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-term-rewrite.html" - }, "type": "string" }, "_types:Fuzziness": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness" - }, "oneOf": [ { "type": "string" @@ -42627,9 +42543,6 @@ ] }, "_types:SortOptions": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html" - }, "type": "object", "properties": { "_score": { @@ -42996,9 +42909,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to normalize the term.", "type": "string" }, @@ -43029,9 +42939,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to analyze terms in the query.", "type": "string" }, @@ -43062,9 +42969,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to analyze the `prefix`.", "type": "string" }, @@ -43189,9 +43093,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -43281,9 +43182,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -43341,9 +43239,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -43374,9 +43269,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert text in the query value into tokens.", "type": "string" }, @@ -43411,9 +43303,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "The analyzer that is used to analyze the free form text.\nDefaults to the analyzer associated with the first field in fields.", "type": "string" }, @@ -43511,9 +43400,6 @@ ] }, "_types.query_dsl:Like": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" - }, "description": "Text that we want similar documents for or a lookup to a document's field for the text.", "oneOf": [ { @@ -43593,9 +43479,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -43874,9 +43757,6 @@ "type": "boolean" }, "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert text in the query string into tokens.", "type": "string" }, @@ -44011,9 +43891,6 @@ ] }, "_types:DateFormat": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" - }, "type": "string" }, "_types.query_dsl:RangeQueryBase": { @@ -44393,9 +44270,6 @@ "type": "boolean" }, "flags": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" - }, "description": "Enables optional operators for the regular expression.", "type": "string" }, @@ -44407,9 +44281,6 @@ "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" }, "value": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" - }, "description": "Regular expression for terms you wish to find in the provided field.", "type": "string" } @@ -44542,9 +44413,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert text in the query string into tokens.", "type": "string" }, @@ -44604,9 +44472,6 @@ ] }, "_types.query_dsl:SimpleQueryStringFlags": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#supported-flags" - }, "description": "Query flags can be either a single flag or a combination of flags, e.g. `OR|AND|PREFIX`", "allOf": [ { @@ -46691,9 +46556,6 @@ "$ref": "#/components/schemas/_types:Field" }, "num_top_feature_importance_values": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" - }, "description": "Specifies the maximum number of feature importance values per document.", "type": "number" } @@ -46707,9 +46569,6 @@ "type": "number" }, "num_top_feature_importance_values": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" - }, "description": "Specifies the maximum number of feature importance values per document.", "type": "number" }, @@ -48308,9 +48167,6 @@ } }, "format": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" - }, "description": "A custom format for `date` type runtime fields.", "type": "string" }, @@ -48444,9 +48300,6 @@ ] }, "_types:NodeName": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html" - }, "type": "string" }, "autoscaling.get_autoscaling_capacity:AutoscalingDecider": { @@ -48974,9 +48827,6 @@ ] }, "_types:ByteSize": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#byte-units" - }, "oneOf": [ { "type": "number" @@ -57190,9 +57040,6 @@ ] }, "_types.analysis:Normalizer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-normalizers.html" - }, "discriminator": { "propertyName": "type" }, @@ -58722,9 +58569,6 @@ "type": "object", "properties": { "meta": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-meta-field.html" - }, "description": "Metadata about the field.", "type": "object", "additionalProperties": { @@ -59067,9 +58911,6 @@ ] }, "fields": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html" - }, "description": "Multi-fields allow the same string value to be indexed in multiple ways for different purposes, such as one\nfield for search and a multi-field for sorting and aggregations, or the same string value analyzed by different analyzers.", "type": "object", "additionalProperties": { @@ -59077,9 +58918,6 @@ } }, "meta": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-meta-field.html" - }, "description": "Metadata about the field.", "type": "object", "additionalProperties": { @@ -61473,9 +61311,6 @@ } }, "_types:DataStreamName": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-data-stream.html#indices-create-data-stream-api-path-params" - }, "type": "string" }, "indices._types:DataStreamLifecycle": { @@ -61852,9 +61687,6 @@ "$ref": "#/components/schemas/cluster.stats:FieldTypesMappings" }, "versions": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer-anatomy.html" - }, "description": "Contains statistics about analyzers and analyzer components used in selected nodes.", "type": "array", "items": { @@ -62488,9 +62320,6 @@ "$ref": "#/components/schemas/cluster.stats:ClusterNodeCount" }, "discovery_types": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery-hosts-providers.html" - }, "description": "Contains statistics about the discovery types used by selected nodes.", "type": "object", "additionalProperties": { @@ -64512,9 +64341,6 @@ } }, "sequences": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html#eql-sequences" - }, "description": "Contains event sequences matching the query. Each object represents a matching sequence. This parameter is only returned for EQL queries containing a sequence.", "type": "array", "items": { @@ -64537,9 +64363,6 @@ "type": "object" }, "missing": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html#eql-missing-events" - }, "description": "Set to `true` for events in a timespan-constrained sequence that do not meet a given condition.", "type": "boolean" }, @@ -64570,9 +64393,6 @@ } }, "join_keys": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html#eql-sequences" - }, "description": "Shared field values used to constrain matches in the sequence. These are defined using the by keyword in the EQL query syntax.", "type": "array", "items": { @@ -64761,9 +64581,6 @@ "type": "string" }, "metadata_field": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-fields.html" - }, "description": "Whether this field is registered as a metadata field.", "type": "boolean" }, @@ -65344,9 +65161,6 @@ "$ref": "#/components/schemas/_types:Duration" }, "use_significance": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-significantterms-aggregation.html" - }, "description": "Filters associated terms so only those that are significantly associated with your query are included.", "type": "boolean" } @@ -71426,9 +71240,6 @@ "type": "string" }, "pipeline": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html" - }, "description": "Configuration for the pipeline.", "type": "string" }, @@ -71464,9 +71275,6 @@ "type": "object", "properties": { "pipeline.workers": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-settings-file.html" - }, "description": "The number of workers that will, in parallel, execute the filter and output stages of the pipeline.", "type": "number" }, @@ -71479,9 +71287,6 @@ "type": "number" }, "queue.type": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-settings-file.html" - }, "description": "The internal queuing model to use for event buffering.", "type": "string" }, @@ -72060,9 +71865,6 @@ "type": "object", "properties": { "mse": { - "externalDocs": { - "url": "https://en.wikipedia.org/wiki/Mean_squared_error" - }, "description": "Average squared difference between the predicted values and the actual (ground truth) value. For more information, read this wiki article.", "type": "object", "additionalProperties": { @@ -72076,9 +71878,6 @@ "$ref": "#/components/schemas/ml._types:DataframeEvaluationRegressionMetricsHuber" }, "r_squared": { - "externalDocs": { - "url": "https://en.wikipedia.org/wiki/Coefficient_of_determination" - }, "description": "Proportion of the variance in the dependent variable that is predictable from the independent variables.", "type": "object", "additionalProperties": { @@ -75294,9 +75093,6 @@ "type": "object", "properties": { "absolute_importance": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/dfa-regression-lossfunction.html" - }, "description": "A positive number showing how much the parameter influences the variation of the loss function. For hyperparameters with values that are not specified by the user but tuned during hyperparameter optimization.", "type": "number" }, @@ -75435,9 +75231,6 @@ "$ref": "#/components/schemas/ml._types:TrainedModelInferenceStats" }, "ingest": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html" - }, "description": "A collection of ingest stats for the model across all nodes.\nThe values are summations of the individual node statistics.\nThe format matches the ingest section in the nodes stats API.", "type": "object", "additionalProperties": { @@ -75680,9 +75473,6 @@ "type": "object", "properties": { "cache_miss_count": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "The number of times the model was loaded for inference and was not retrieved from the cache.\nIf this number is close to the `inference_count`, the cache is not being appropriately used.\nThis can be solved by increasing the cache size or its time-to-live (TTL).\nRefer to general machine learning settings for the appropriate settings.", "type": "number" }, @@ -76239,9 +76029,6 @@ "type": "object", "properties": { "allow_lazy_open": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html" - }, "description": "Advanced configuration option. Specifies whether this job can open when there is insufficient machine learning node capacity for it to be immediately assigned to a node.", "type": "boolean" }, @@ -76409,9 +76196,6 @@ "$ref": "#/components/schemas/_types:Field" }, "function": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-functions.html" - }, "description": "The analysis function that is used.\nFor example, `count`, `rare`, `mean`, `min`, `max`, and `sum`.", "type": "string" }, @@ -77284,9 +77068,6 @@ } }, "total_indexing_buffer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/indexing-buffer.html" - }, "description": "Total heap allowed to be used to hold recently indexed documents before they must be written to disk. This size is a shared pool across all shards on this node, and is controlled by Indexing Buffer settings.", "type": "number" }, @@ -79839,9 +79620,6 @@ "type": "object", "properties": { "normalize": { - "externalDocs": { - "url": "https://en.wikipedia.org/wiki/Discounted_cumulative_gain#Normalized_DCG" - }, "description": "If set to true, this metric will calculate the Normalized DCG.", "type": "boolean" } @@ -81339,9 +81117,6 @@ "$ref": "#/components/schemas/_types:Metadata" }, "run_as": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html" - }, "description": "A list of users that the API keys can impersonate. *Note*: in Serverless, the run-as feature is disabled. For API compatibility, you can still specify an empty `run_as` field, but a non-empty list will be rejected.", "type": "array", "items": { @@ -81969,9 +81744,6 @@ "$ref": "#/components/schemas/_types:Metadata" }, "run_as": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html" - }, "description": "A list of users that the API keys can impersonate.", "type": "array", "items": { @@ -82150,9 +81922,6 @@ "type": "object", "properties": { "field_security": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/field-and-document-access-control.html" - }, "description": "The document fields that the owners of the role have read access to.", "type": "array", "items": { @@ -82470,9 +82239,6 @@ "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" }, "match": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" - }, "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", "type": "object", "additionalProperties": { @@ -82485,9 +82251,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" }, "prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" - }, "description": "Returns documents that contain a specific prefix in a provided field.", "type": "object", "additionalProperties": { @@ -82497,9 +82260,6 @@ "maxProperties": 1 }, "range": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" - }, "description": "Returns documents that contain terms within a provided range.", "type": "object", "additionalProperties": { @@ -82512,9 +82272,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" }, "term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" - }, "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -82527,9 +82284,6 @@ "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" }, "wildcard": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" - }, "description": "Returns documents that contain terms matching a wildcard pattern.", "type": "object", "additionalProperties": { @@ -82642,9 +82396,6 @@ "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" }, "match": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" - }, "description": "Returns roles that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", "type": "object", "additionalProperties": { @@ -82657,9 +82408,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" }, "prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" - }, "description": "Returns roles that contain a specific prefix in a provided field.", "type": "object", "additionalProperties": { @@ -82669,9 +82417,6 @@ "maxProperties": 1 }, "range": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" - }, "description": "Returns roles that contain terms within a provided range.", "type": "object", "additionalProperties": { @@ -82684,9 +82429,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" }, "term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" - }, "description": "Returns roles that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -82699,9 +82441,6 @@ "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" }, "wildcard": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" - }, "description": "Returns roles that contain terms matching a wildcard pattern.", "type": "object", "additionalProperties": { @@ -82749,9 +82488,6 @@ "$ref": "#/components/schemas/_types.query_dsl:ExistsQuery" }, "match": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" - }, "description": "Returns users that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", "type": "object", "additionalProperties": { @@ -82764,9 +82500,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" }, "prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" - }, "description": "Returns users that contain a specific prefix in a provided field.", "type": "object", "additionalProperties": { @@ -82776,9 +82509,6 @@ "maxProperties": 1 }, "range": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" - }, "description": "Returns users that contain terms within a provided range.", "type": "object", "additionalProperties": { @@ -82791,9 +82521,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" }, "term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" - }, "description": "Returns users that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -82806,9 +82533,6 @@ "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" }, "wildcard": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" - }, "description": "Returns users that contain terms matching a wildcard pattern.", "type": "object", "additionalProperties": { @@ -83133,9 +82857,6 @@ ] }, "watcher._types:CronExpression": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-cron-expressions" - }, "type": "string" }, "slm._types:Statistics": { @@ -101320,9 +101041,6 @@ "type": "object", "properties": { "query": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html" - }, "description": "EQL query you wish to run.", "type": "string" }, @@ -101640,9 +101358,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html" - }, "description": "The name of the analyzer that should be applied to the provided `text`.\nThis could be a built-in analyzer, or an analyzer that’s been configured in the index.", "type": "string" }, @@ -101654,9 +101369,6 @@ } }, "char_filter": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-charfilters.html" - }, "description": "Array of character filters used to preprocess characters before the tokenizer.", "type": "array", "items": { @@ -101671,9 +101383,6 @@ "$ref": "#/components/schemas/_types:Field" }, "filter": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenfilters.html" - }, "description": "Array of token filters used to apply after the tokenizer.", "type": "array", "items": { @@ -101681,9 +101390,6 @@ } }, "normalizer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-normalizers.html" - }, "description": "Normalizer to use to convert text into a single token.", "type": "string" }, @@ -101712,9 +101418,6 @@ } }, "settings": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#index-modules-settings" - }, "description": "Configuration options for the target index.", "type": "object", "additionalProperties": { @@ -102279,9 +101982,6 @@ "type": "string" }, "model_memory_limit": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "The approximate maximum amount of memory resources that are permitted for\nanalytical processing. If your `elasticsearch.yml` file contains an\n`xpack.ml.max_model_memory_limit` setting, an error occurs when you try to\ncreate data frame analytics jobs that have `model_memory_limit` values\ngreater than that setting.", "type": "string" }, @@ -102293,9 +101993,6 @@ "$ref": "#/components/schemas/ml._types:DataframeAnalysisAnalyzedFields" }, "allow_lazy_start": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "Specifies whether this job can start when there is insufficient machine\nlearning node capacity for it to be immediately assigned to a node.", "type": "boolean" } @@ -103095,9 +102792,6 @@ "$ref": "#/components/schemas/_types:Name" }, "role_descriptors": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html" - }, "description": "An array of role descriptors for this API key. This parameter is optional. When it is not specified or is an empty array, then the API key will have a point in time snapshot of permissions of the authenticated user. If you supply role descriptors then the resultant permissions would be an intersection of API keys permissions and authenticated user’s permissions thereby limiting the access scope for API keys. The structure of role descriptor is the same as the request for create role API. For more details, see create or update roles API.", "type": "object", "additionalProperties": { @@ -103231,9 +102925,6 @@ "$ref": "#/components/schemas/_types:Metadata" }, "run_as": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html" - }, "description": "A list of users that the owners of this role can impersonate. *Note*: in Serverless, the run-as feature is disabled. For API compatibility, you can still specify an empty `run_as` field, but a non-empty list will be rejected.", "type": "array", "items": { diff --git a/output/openapi/elasticsearch-serverless-openapi.json b/output/openapi/elasticsearch-serverless-openapi.json index 75a117bd9e..8d90f4b346 100644 --- a/output/openapi/elasticsearch-serverless-openapi.json +++ b/output/openapi/elasticsearch-serverless-openapi.json @@ -5038,9 +5038,6 @@ "type": "string" }, "params": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-rest.html#esql-rest-params" - }, "description": "To avoid any attempts of hacking or code injection, extract the values in a separate list of parameters. Use question mark placeholders (?) in the query string for each of the parameters.", "type": "array", "items": { @@ -10130,9 +10127,6 @@ "type": "object", "properties": { "allow_lazy_start": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "Specifies whether this job can start when there is insufficient machine\nlearning node capacity for it to be immediately assigned to a node. If\nset to `false` and a machine learning node with capacity to run the job\ncannot be immediately found, the API returns an error. If set to `true`,\nthe API does not return an error; the job waits in the `starting` state\nuntil sufficient machine learning node capacity is available. This\nbehavior is also affected by the cluster-wide\n`xpack.ml.max_lazy_ml_nodes` setting.", "type": "boolean" }, @@ -13221,9 +13215,6 @@ "type": "string" }, "model_memory_limit": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "The approximate maximum amount of memory resources that are permitted for\nanalytical processing. If your `elasticsearch.yml` file contains an\n`xpack.ml.max_model_memory_limit` setting, an error occurs when you try\nto create data frame analytics jobs that have `model_memory_limit` values\ngreater than that setting.", "type": "string" }, @@ -13232,9 +13223,6 @@ "type": "number" }, "allow_lazy_start": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "Specifies whether this job can start when there is insufficient machine\nlearning node capacity for it to be immediately assigned to a node.", "type": "boolean" } @@ -13627,9 +13615,6 @@ "type": "object", "properties": { "allow_lazy_open": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "Advanced configuration option. Specifies whether this job can open when\nthere is insufficient machine learning node capacity for it to be\nimmediately assigned to a node. If `false` and a machine learning node\nwith capacity to run the job cannot immediately be found, the open\nanomaly detection jobs API returns an error. However, this is also\nsubject to the cluster-wide `xpack.ml.max_lazy_ml_nodes` setting. If this\noption is set to `true`, the open anomaly detection jobs API does not\nreturn an error and the job waits in the opening state until sufficient\nmachine learning node capacity is available.", "type": "boolean" }, @@ -13663,16 +13648,10 @@ "$ref": "#/components/schemas/_types:Duration" }, "daily_model_snapshot_retention_after_days": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-ad-run-jobs.html#ml-ad-model-snapshots" - }, "description": "Advanced configuration option, which affects the automatic removal of old\nmodel snapshots for this job. It specifies a period of time (in days)\nafter which only the first snapshot per day is retained. This period is\nrelative to the timestamp of the most recent snapshot for this job. Valid\nvalues range from 0 to `model_snapshot_retention_days`. For jobs created\nbefore version 7.8.0, the default value matches\n`model_snapshot_retention_days`.", "type": "number" }, "model_snapshot_retention_days": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-ad-run-jobs.html#ml-ad-model-snapshots" - }, "description": "Advanced configuration option, which affects the automatic removal of old\nmodel snapshots for this job. It specifies the maximum period of time (in\ndays) that snapshots are retained. This period is relative to the\ntimestamp of the most recent snapshot for this job.", "type": "number" }, @@ -17274,9 +17253,6 @@ "type": "object", "properties": { "role_descriptors": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html" - }, "description": "An array of role descriptors for this API key. This parameter is optional. When it is not specified or is an empty array, then the API key will have a point in time snapshot of permissions of the authenticated user. If you supply role descriptors then the resultant permissions would be an intersection of API keys permissions and authenticated user’s permissions thereby limiting the access scope for API keys. The structure of role descriptor is the same as the request for create role API. For more details, see create or update roles API.", "type": "object", "additionalProperties": { @@ -19853,9 +19829,6 @@ ] }, "_types:Duration": { - "externalDocs": { - "url": "https://github.com/elastic/elasticsearch/blob/current/libs/core/src/main/java/org/elasticsearch/core/TimeValue.java" - }, "description": "A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and\n`d` (days). Also accepts \"0\" without a unit and \"-1\" to indicate an unspecified value.", "oneOf": [ { @@ -24732,9 +24705,6 @@ ] }, "_global.search._types:Context": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" - }, "description": "Text or location that we want similar documents for or a lookup to a document's field for the text.", "oneOf": [ { @@ -25363,9 +25333,6 @@ "$ref": "#/components/schemas/_types.query_dsl:FunctionScoreQuery" }, "fuzzy": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html" - }, "description": "Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.", "type": "object", "additionalProperties": { @@ -25396,9 +25363,6 @@ "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" }, "intervals": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html" - }, "description": "Returns documents based on the order and proximity of matching terms.", "type": "object", "additionalProperties": { @@ -25411,9 +25375,6 @@ "$ref": "#/components/schemas/_types:KnnQuery" }, "match": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" - }, "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", "type": "object", "additionalProperties": { @@ -25426,9 +25387,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" }, "match_bool_prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html" - }, "description": "Analyzes its input and constructs a `bool` query from the terms.\nEach term except the last is used in a `term` query.\nThe last term is used in a prefix query.", "type": "object", "additionalProperties": { @@ -25441,9 +25399,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchNoneQuery" }, "match_phrase": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html" - }, "description": "Analyzes the text and creates a phrase query out of the analyzed text.", "type": "object", "additionalProperties": { @@ -25453,9 +25408,6 @@ "maxProperties": 1 }, "match_phrase_prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html" - }, "description": "Returns documents that contain the words of a provided text, in the same order as provided.\nThe last term of the provided text is treated as a prefix, matching any words that begin with that term.", "type": "object", "additionalProperties": { @@ -25483,9 +25435,6 @@ "$ref": "#/components/schemas/_types.query_dsl:PinnedQuery" }, "prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" - }, "description": "Returns documents that contain a specific prefix in a provided field.", "type": "object", "additionalProperties": { @@ -25498,9 +25447,6 @@ "$ref": "#/components/schemas/_types.query_dsl:QueryStringQuery" }, "range": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" - }, "description": "Returns documents that contain terms within a provided range.", "type": "object", "additionalProperties": { @@ -25513,9 +25459,6 @@ "$ref": "#/components/schemas/_types.query_dsl:RankFeatureQuery" }, "regexp": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html" - }, "description": "Returns documents that contain terms matching a regular expression.", "type": "object", "additionalProperties": { @@ -25564,9 +25507,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SpanOrQuery" }, "span_term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-term-query.html" - }, "description": "Matches spans containing a term.", "type": "object", "additionalProperties": { @@ -25582,9 +25522,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SparseVectorQuery" }, "term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" - }, "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -25597,9 +25534,6 @@ "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" }, "terms_set": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-set-query.html" - }, "description": "Returns documents that contain a minimum number of exact terms in a provided field.\nTo return a document, a required number of terms must exactly match the field values, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -25610,9 +25544,6 @@ }, "text_expansion": { "deprecated": true, - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-text-expansion-query.html" - }, "description": "Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field.", "type": "object", "additionalProperties": { @@ -25632,9 +25563,6 @@ "maxProperties": 1 }, "wildcard": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" - }, "description": "Returns documents that contain terms matching a wildcard pattern.", "type": "object", "additionalProperties": { @@ -25725,9 +25653,6 @@ ] }, "_types:MinimumShouldMatch": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html" - }, "description": "The minimum number of terms that should match as integer, percentage or range", "oneOf": [ { @@ -26408,15 +26333,9 @@ ] }, "_types:MultiTermQueryRewrite": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-term-rewrite.html" - }, "type": "string" }, "_types:Fuzziness": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness" - }, "oneOf": [ { "type": "string" @@ -26904,9 +26823,6 @@ ] }, "_types:SortOptions": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html" - }, "type": "object", "properties": { "_score": { @@ -27273,9 +27189,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to normalize the term.", "type": "string" }, @@ -27306,9 +27219,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to analyze terms in the query.", "type": "string" }, @@ -27339,9 +27249,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to analyze the `prefix`.", "type": "string" }, @@ -27466,9 +27373,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -27558,9 +27462,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -27618,9 +27519,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -27651,9 +27549,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert text in the query value into tokens.", "type": "string" }, @@ -27688,9 +27583,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "The analyzer that is used to analyze the free form text.\nDefaults to the analyzer associated with the first field in fields.", "type": "string" }, @@ -27788,9 +27680,6 @@ ] }, "_types.query_dsl:Like": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters" - }, "description": "Text that we want similar documents for or a lookup to a document's field for the text.", "oneOf": [ { @@ -27870,9 +27759,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert the text in the query value into tokens.", "type": "string" }, @@ -28151,9 +28037,6 @@ "type": "boolean" }, "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert text in the query string into tokens.", "type": "string" }, @@ -28288,9 +28171,6 @@ ] }, "_types:DateFormat": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" - }, "type": "string" }, "_types.query_dsl:RangeQueryBase": { @@ -28670,9 +28550,6 @@ "type": "boolean" }, "flags": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" - }, "description": "Enables optional operators for the regular expression.", "type": "string" }, @@ -28684,9 +28561,6 @@ "$ref": "#/components/schemas/_types:MultiTermQueryRewrite" }, "value": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/regexp-syntax.html" - }, "description": "Regular expression for terms you wish to find in the provided field.", "type": "string" } @@ -28819,9 +28693,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html" - }, "description": "Analyzer used to convert text in the query string into tokens.", "type": "string" }, @@ -28881,9 +28752,6 @@ ] }, "_types.query_dsl:SimpleQueryStringFlags": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html#supported-flags" - }, "description": "Query flags can be either a single flag or a combination of flags, e.g. `OR|AND|PREFIX`", "allOf": [ { @@ -30968,9 +30836,6 @@ "$ref": "#/components/schemas/_types:Field" }, "num_top_feature_importance_values": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" - }, "description": "Specifies the maximum number of feature importance values per document.", "type": "number" } @@ -30984,9 +30849,6 @@ "type": "number" }, "num_top_feature_importance_values": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-feature-importance.html" - }, "description": "Specifies the maximum number of feature importance values per document.", "type": "number" }, @@ -32558,9 +32420,6 @@ } }, "format": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html" - }, "description": "A custom format for `date` type runtime fields.", "type": "string" }, @@ -34334,9 +34193,6 @@ ] }, "_types:ByteSize": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#byte-units" - }, "oneOf": [ { "type": "number" @@ -39014,9 +38870,6 @@ ] }, "_types.analysis:Normalizer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-normalizers.html" - }, "discriminator": { "propertyName": "type" }, @@ -40546,9 +40399,6 @@ "type": "object", "properties": { "meta": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-meta-field.html" - }, "description": "Metadata about the field.", "type": "object", "additionalProperties": { @@ -40891,9 +40741,6 @@ ] }, "fields": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html" - }, "description": "Multi-fields allow the same string value to be indexed in multiple ways for different purposes, such as one\nfield for search and a multi-field for sorting and aggregations, or the same string value analyzed by different analyzers.", "type": "object", "additionalProperties": { @@ -40901,9 +40748,6 @@ } }, "meta": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-meta-field.html" - }, "description": "Metadata about the field.", "type": "object", "additionalProperties": { @@ -42957,9 +42801,6 @@ } }, "_types:DataStreamName": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-data-stream.html#indices-create-data-stream-api-path-params" - }, "type": "string" }, "indices._types:DataStreamLifecycle": { @@ -44201,9 +44042,6 @@ } }, "sequences": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html#eql-sequences" - }, "description": "Contains event sequences matching the query. Each object represents a matching sequence. This parameter is only returned for EQL queries containing a sequence.", "type": "array", "items": { @@ -44226,9 +44064,6 @@ "type": "object" }, "missing": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html#eql-missing-events" - }, "description": "Set to `true` for events in a timespan-constrained sequence that do not meet a given condition.", "type": "boolean" }, @@ -44259,9 +44094,6 @@ } }, "join_keys": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html#eql-sequences" - }, "description": "Shared field values used to constrain matches in the sequence. These are defined using the by keyword in the EQL query syntax.", "type": "array", "items": { @@ -44435,9 +44267,6 @@ "type": "string" }, "metadata_field": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-fields.html" - }, "description": "Whether this field is registered as a metadata field.", "type": "boolean" }, @@ -44628,9 +44457,6 @@ "$ref": "#/components/schemas/_types:Duration" }, "use_significance": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-significantterms-aggregation.html" - }, "description": "Filters associated terms so only those that are significantly associated with your query are included.", "type": "boolean" } @@ -47910,9 +47736,6 @@ "type": "string" }, "pipeline": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html" - }, "description": "Configuration for the pipeline.", "type": "string" }, @@ -47948,9 +47771,6 @@ "type": "object", "properties": { "pipeline.workers": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-settings-file.html" - }, "description": "The number of workers that will, in parallel, execute the filter and output stages of the pipeline.", "type": "number" }, @@ -47963,9 +47783,6 @@ "type": "number" }, "queue.type": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/logstash/current/logstash-settings-file.html" - }, "description": "The internal queuing model to use for event buffering.", "type": "string" }, @@ -48448,9 +48265,6 @@ "type": "object", "properties": { "mse": { - "externalDocs": { - "url": "https://en.wikipedia.org/wiki/Mean_squared_error" - }, "description": "Average squared difference between the predicted values and the actual (ground truth) value. For more information, read this wiki article.", "type": "object", "additionalProperties": { @@ -48464,9 +48278,6 @@ "$ref": "#/components/schemas/ml._types:DataframeEvaluationRegressionMetricsHuber" }, "r_squared": { - "externalDocs": { - "url": "https://en.wikipedia.org/wiki/Coefficient_of_determination" - }, "description": "Proportion of the variance in the dependent variable that is predictable from the independent variables.", "type": "object", "additionalProperties": { @@ -50821,9 +50632,6 @@ "type": "object", "properties": { "absolute_importance": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/dfa-regression-lossfunction.html" - }, "description": "A positive number showing how much the parameter influences the variation of the loss function. For hyperparameters with values that are not specified by the user but tuned during hyperparameter optimization.", "type": "number" }, @@ -50962,9 +50770,6 @@ "$ref": "#/components/schemas/ml._types:TrainedModelInferenceStats" }, "ingest": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html" - }, "description": "A collection of ingest stats for the model across all nodes.\nThe values are summations of the individual node statistics.\nThe format matches the ingest section in the nodes stats API.", "type": "object", "additionalProperties": { @@ -51203,9 +51008,6 @@ "type": "object", "properties": { "cache_miss_count": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-settings.html" - }, "description": "The number of times the model was loaded for inference and was not retrieved from the cache.\nIf this number is close to the `inference_count`, the cache is not being appropriately used.\nThis can be solved by increasing the cache size or its time-to-live (TTL).\nRefer to general machine learning settings for the appropriate settings.", "type": "number" }, @@ -51676,9 +51478,6 @@ "type": "object", "properties": { "allow_lazy_open": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-put-job.html" - }, "description": "Advanced configuration option. Specifies whether this job can open when there is insufficient machine learning node capacity for it to be immediately assigned to a node.", "type": "boolean" }, @@ -51846,9 +51645,6 @@ "$ref": "#/components/schemas/_types:Field" }, "function": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/machine-learning/current/ml-functions.html" - }, "description": "The analysis function that is used.\nFor example, `count`, `rare`, `mean`, `min`, `max`, and `sum`.", "type": "string" }, @@ -53081,9 +52877,6 @@ "type": "object", "properties": { "normalize": { - "externalDocs": { - "url": "https://en.wikipedia.org/wiki/Discounted_cumulative_gain#Normalized_DCG" - }, "description": "If set to true, this metric will calculate the Normalized DCG.", "type": "boolean" } @@ -53679,9 +53472,6 @@ "$ref": "#/components/schemas/_types:Metadata" }, "run_as": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/run-as-privilege.html" - }, "description": "A list of users that the API keys can impersonate. *Note*: in Serverless, the run-as feature is disabled. For API compatibility, you can still specify an empty `run_as` field, but a non-empty list will be rejected.", "type": "array", "items": { @@ -54054,9 +53844,6 @@ "$ref": "#/components/schemas/_types.query_dsl:IdsQuery" }, "match": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html" - }, "description": "Returns documents that match a provided text, number, date or boolean value.\nThe provided text is analyzed before matching.", "type": "object", "additionalProperties": { @@ -54069,9 +53856,6 @@ "$ref": "#/components/schemas/_types.query_dsl:MatchAllQuery" }, "prefix": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-prefix-query.html" - }, "description": "Returns documents that contain a specific prefix in a provided field.", "type": "object", "additionalProperties": { @@ -54081,9 +53865,6 @@ "maxProperties": 1 }, "range": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html" - }, "description": "Returns documents that contain terms within a provided range.", "type": "object", "additionalProperties": { @@ -54096,9 +53877,6 @@ "$ref": "#/components/schemas/_types.query_dsl:SimpleQueryStringQuery" }, "term": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html" - }, "description": "Returns documents that contain an exact term in a provided field.\nTo return a document, the query term must exactly match the queried field's value, including whitespace and capitalization.", "type": "object", "additionalProperties": { @@ -54111,9 +53889,6 @@ "$ref": "#/components/schemas/_types.query_dsl:TermsQuery" }, "wildcard": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-wildcard-query.html" - }, "description": "Returns documents that contain terms matching a wildcard pattern.", "type": "object", "additionalProperties": { @@ -62042,9 +61817,6 @@ "type": "object", "properties": { "query": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/eql-syntax.html" - }, "description": "EQL query you wish to run.", "type": "string" }, @@ -62196,9 +61968,6 @@ "type": "object", "properties": { "analyzer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html" - }, "description": "The name of the analyzer that should be applied to the provided `text`.\nThis could be a built-in analyzer, or an analyzer that’s been configured in the index.", "type": "string" }, @@ -62210,9 +61979,6 @@ } }, "char_filter": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-charfilters.html" - }, "description": "Array of character filters used to preprocess characters before the tokenizer.", "type": "array", "items": { @@ -62227,9 +61993,6 @@ "$ref": "#/components/schemas/_types:Field" }, "filter": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenfilters.html" - }, "description": "Array of token filters used to apply after the tokenizer.", "type": "array", "items": { @@ -62237,9 +62000,6 @@ } }, "normalizer": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-normalizers.html" - }, "description": "Normalizer to use to convert text into a single token.", "type": "string" }, @@ -63228,9 +62988,6 @@ "$ref": "#/components/schemas/_types:Name" }, "role_descriptors": { - "externalDocs": { - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role.html" - }, "description": "An array of role descriptors for this API key. This parameter is optional. When it is not specified or is an empty array, then the API key will have a point in time snapshot of permissions of the authenticated user. If you supply role descriptors then the resultant permissions would be an intersection of API keys permissions and authenticated user’s permissions thereby limiting the access scope for API keys. The structure of role descriptor is the same as the request for create role API. For more details, see create or update roles API.", "type": "object", "additionalProperties": { diff --git a/output/schema/schema.json b/output/schema/schema.json index 5a1f375fb6..66ee64b4f5 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -82310,8 +82310,8 @@ }, { "kind": "interface", - "docId": "query-dsl", - "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/query-dsl.html", + "extDocId": "query-dsl", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/query-dsl.html", "name": { "name": "QueryContainer", "namespace": "_types.query_dsl" @@ -187420,8 +187420,8 @@ "properties": [ { "description": "When you create a role, you can specify a query that defines the document level security permissions. You can optionally\nuse Mustache templates in the role query to insert the username of the current authenticated user into the role.\nLike other places in Elasticsearch that support templating or scripting, you can specify inline, stored, or file-based\ntemplates and define custom parameters. You access the details for the current authenticated user through the _user parameter.", - "docId": "templating-role-query", - "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/field-and-document-access-control.html#templating-role-query", + "extDocId": "templating-role-query", + "extDocUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/field-and-document-access-control.html#templating-role-query", "name": "template", "required": false, "type": { diff --git a/specification/_types/query_dsl/abstractions.ts b/specification/_types/query_dsl/abstractions.ts index 713854c23b..43fdb6dfd4 100644 --- a/specification/_types/query_dsl/abstractions.ts +++ b/specification/_types/query_dsl/abstractions.ts @@ -102,7 +102,7 @@ import { WeightedTokensQuery } from './WeightedTokensQuery' /** * @variants container * @non_exhaustive - * @doc_id query-dsl + * @ext_doc_id query-dsl */ export class QueryContainer { /** diff --git a/specification/security/_types/Privileges.ts b/specification/security/_types/Privileges.ts index abfafbdef2..356973864c 100644 --- a/specification/security/_types/Privileges.ts +++ b/specification/security/_types/Privileges.ts @@ -293,7 +293,7 @@ export class RoleTemplateQuery { * Like other places in Elasticsearch that support templating or scripting, you can specify inline, stored, or file-based * templates and define custom parameters. You access the details for the current authenticated user through the _user parameter. * - * @doc_id templating-role-query + * @ext_doc_id templating-role-query */ template?: RoleTemplateScript } diff --git a/typescript-generator/src/metamodel.ts b/typescript-generator/src/metamodel.ts index f67053936a..9f01d7a956 100644 --- a/typescript-generator/src/metamodel.ts +++ b/typescript-generator/src/metamodel.ts @@ -126,6 +126,8 @@ export class Property { description?: string docUrl?: string docId?: string + extDocId?: string + extDocUrl?: string serverDefault?: boolean | string | number | string[] | number[] deprecation?: Deprecation availability?: Availabilities @@ -158,6 +160,8 @@ export abstract class BaseType { /** Link to public documentation */ docUrl?: string docId?: string + extDocId?: string + extDocUrl?: string deprecation?: Deprecation /** If this endpoint has a quirk that needs special attention, give a short explanation about it */ esQuirk?: string @@ -406,6 +410,8 @@ export class Endpoint { description: string docUrl: string docId?: string + extDocId?: string + extDocUrl?: string deprecation?: Deprecation availability: Availabilities docTag?: string