UNPKG

@mirromioorxxx/opensearch

Version:

The official OpenSearch client for Node.js

2,167 lines (1,862 loc) 242 kB
/* * SPDX-License-Identifier: Apache-2.0 * * The OpenSearch Contributors require contributions made to * this file be licensed under the Apache-2.0 license or a * compatible open source license. * * Modifications Copyright OpenSearch Contributors. See * GitHub history for details. */ /* * Licensed to Elasticsearch B.V. under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Elasticsearch B.V. licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ export interface BulkCreateOperation extends BulkOperation { } export interface BulkCreateResponseItem extends BulkResponseItemBase { } export interface BulkDeleteOperation extends BulkOperation { } export interface BulkDeleteResponseItem extends BulkResponseItemBase { } export interface BulkIndexOperation extends BulkOperation { } export interface BulkIndexResponseItem extends BulkResponseItemBase { } export interface BulkOperation { _id: Id _index: IndexName retry_on_conflict: integer routing: Routing version: VersionNumber version_type: VersionType } export interface BulkOperationContainer { index?: BulkIndexOperation create?: BulkCreateOperation update?: BulkUpdateOperation delete?: BulkDeleteOperation } export interface BulkRequest<TSource = unknown> extends RequestBase { index?: IndexName type?: Type pipeline?: string refresh?: Refresh routing?: Routing _source?: boolean | Fields _source_excludes?: Fields _source_includes?: Fields timeout?: Time wait_for_active_shards?: WaitForActiveShards require_alias?: boolean body?: (BulkOperationContainer | TSource)[] } export interface BulkResponse { errors: boolean items: BulkResponseItemContainer[] took: long ingest_took?: long } export interface BulkResponseItemBase { _id?: string | null _index: string status: integer error?: ErrorCause _primary_term?: long result?: string _seq_no?: SequenceNumber _shards?: ShardStatistics _type?: string _version?: VersionNumber forced_refresh?: boolean get?: InlineGet<Record<string, any>> } export interface BulkResponseItemContainer { index?: BulkIndexResponseItem create?: BulkCreateResponseItem update?: BulkUpdateResponseItem delete?: BulkDeleteResponseItem } export interface BulkUpdateOperation extends BulkOperation { } export interface BulkUpdateResponseItem extends BulkResponseItemBase { } export interface ClearScrollRequest extends RequestBase { scroll_id?: Ids body?: { scroll_id?: Ids } } export interface ClearScrollResponse { succeeded: boolean num_freed: integer } export interface CountRequest extends RequestBase { index?: Indices type?: Types allow_no_indices?: boolean analyzer?: string analyze_wildcard?: boolean default_operator?: DefaultOperator df?: string expand_wildcards?: ExpandWildcards ignore_throttled?: boolean ignore_unavailable?: boolean lenient?: boolean min_score?: double preference?: string query_on_query_string?: string routing?: Routing terminate_after?: long q?: string body?: { query?: QueryDslQueryContainer } } export interface CountResponse { count: long _shards: ShardStatistics } export interface CreateRequest<TDocument = unknown> extends RequestBase { id: Id index: IndexName type?: Type pipeline?: string refresh?: Refresh routing?: Routing timeout?: Time version?: VersionNumber version_type?: VersionType wait_for_active_shards?: WaitForActiveShards body?: TDocument } export interface CreateResponse extends WriteResponseBase { } export interface DeleteRequest extends RequestBase { id: Id index: IndexName type?: Type if_primary_term?: long if_seq_no?: SequenceNumber refresh?: Refresh routing?: Routing timeout?: Time version?: VersionNumber version_type?: VersionType wait_for_active_shards?: WaitForActiveShards } export interface DeleteResponse extends WriteResponseBase { } export interface DeleteByQueryRequest extends RequestBase { index: Indices type?: Types allow_no_indices?: boolean analyzer?: string analyze_wildcard?: boolean conflicts?: Conflicts default_operator?: DefaultOperator df?: string expand_wildcards?: ExpandWildcards from?: long ignore_unavailable?: boolean lenient?: boolean max_docs?: long preference?: string refresh?: boolean request_cache?: boolean requests_per_second?: long routing?: Routing q?: string scroll?: Time scroll_size?: long search_timeout?: Time search_type?: SearchType size?: long slices?: long sort?: string[] _source?: boolean | Fields _source_excludes?: Fields _source_includes?: Fields stats?: string[] terminate_after?: long timeout?: Time version?: boolean wait_for_active_shards?: WaitForActiveShards wait_for_completion?: boolean body?: { max_docs?: long query?: QueryDslQueryContainer slice?: SlicedScroll } } export interface DeleteByQueryResponse { batches?: long deleted?: long failures?: BulkIndexByScrollFailure[] noops?: long requests_per_second?: float retries?: Retries slice_id?: integer task?: TaskId throttled_millis?: long throttled_until_millis?: long timed_out?: boolean took?: long total?: long version_conflicts?: long } export interface DeleteByQueryRethrottleRequest extends RequestBase { task_id: Id requests_per_second?: long } export interface DeleteByQueryRethrottleResponse extends TaskListResponse { } export interface DeleteScriptRequest extends RequestBase { id: Id master_timeout?: Time timeout?: Time } export interface DeleteScriptResponse extends AcknowledgedResponseBase { } export interface ExistsRequest extends RequestBase { id: Id index: IndexName type?: Type preference?: string realtime?: boolean refresh?: boolean routing?: Routing source_enabled?: boolean source_excludes?: Fields source_includes?: Fields stored_fields?: Fields version?: VersionNumber version_type?: VersionType } export type ExistsResponse = boolean export interface ExistsSourceRequest extends RequestBase { id: Id index: IndexName type?: Type preference?: string realtime?: boolean refresh?: boolean routing?: Routing source_enabled?: boolean source_excludes?: Fields source_includes?: Fields version?: VersionNumber version_type?: VersionType } export type ExistsSourceResponse = boolean export interface ExplainExplanation { description: string details: ExplainExplanationDetail[] value: float } export interface ExplainExplanationDetail { description: string details?: ExplainExplanationDetail[] value: float } export interface ExplainRequest extends RequestBase { id: Id index: IndexName type?: Type analyzer?: string analyze_wildcard?: boolean default_operator?: DefaultOperator df?: string lenient?: boolean preference?: string query_on_query_string?: string routing?: Routing _source?: boolean | Fields _source_excludes?: Fields _source_includes?: Fields stored_fields?: Fields q?: string body?: { query?: QueryDslQueryContainer } } export interface ExplainResponse<TDocument = unknown> { _index: IndexName _type?: Type _id: Id matched: boolean explanation?: ExplainExplanationDetail get?: InlineGet<TDocument> } export interface FieldCapsFieldCapabilitiesBodyIndexFilter { range?: FieldCapsFieldCapabilitiesBodyIndexFilterRange match_none?: EmptyObject term?: FieldCapsFieldCapabilitiesBodyIndexFilterTerm } export interface FieldCapsFieldCapabilitiesBodyIndexFilterRange { timestamp: FieldCapsFieldCapabilitiesBodyIndexFilterRangeTimestamp } export interface FieldCapsFieldCapabilitiesBodyIndexFilterRangeTimestamp { gte?: integer gt?: integer lte?: integer lt?: integer } export interface FieldCapsFieldCapabilitiesBodyIndexFilterTerm { versionControl: FieldCapsFieldCapabilitiesBodyIndexFilterTermVersionControl } export interface FieldCapsFieldCapabilitiesBodyIndexFilterTermVersionControl { value: string } export interface FieldCapsFieldCapability { aggregatable: boolean indices?: Indices meta?: Record<string, string[]> non_aggregatable_indices?: Indices non_searchable_indices?: Indices searchable: boolean type: string } export interface FieldCapsRequest extends RequestBase { index?: Indices allow_no_indices?: boolean expand_wildcards?: ExpandWildcards fields?: Fields ignore_unavailable?: boolean include_unmapped?: boolean body?: { index_filter?: FieldCapsFieldCapabilitiesBodyIndexFilter } } export interface FieldCapsResponse { indices: Indices fields: Record<Field, Record<string, FieldCapsFieldCapability>> } export interface GetRequest extends RequestBase { id: Id index: IndexName type?: Type preference?: string realtime?: boolean refresh?: boolean routing?: Routing source_enabled?: boolean _source_excludes?: Fields _source_includes?: Fields stored_fields?: Fields version?: VersionNumber version_type?: VersionType _source?: boolean | Fields } export interface GetResponse<TDocument = unknown> { _index: IndexName fields?: Record<string, any> found: boolean _id: Id _primary_term?: long _routing?: string _seq_no?: SequenceNumber _source?: TDocument _type?: Type _version?: VersionNumber } export interface GetScriptRequest extends RequestBase { id: Id master_timeout?: Time } export interface GetScriptResponse { _id: Id found: boolean script?: StoredScript } export interface GetScriptContextContext { methods: GetScriptContextContextMethod[] name: Name } export interface GetScriptContextContextMethod { name: Name return_type: string params: GetScriptContextContextMethodParam[] } export interface GetScriptContextContextMethodParam { name: Name type: string } export interface GetScriptContextRequest extends RequestBase { } export interface GetScriptContextResponse { contexts: GetScriptContextContext[] } export interface GetScriptLanguagesLanguageContext { contexts: string[] language: ScriptLanguage } export interface GetScriptLanguagesRequest extends RequestBase { } export interface GetScriptLanguagesResponse { language_contexts: GetScriptLanguagesLanguageContext[] types_allowed: string[] } export interface GetSourceRequest extends GetRequest { } export type GetSourceResponse<TDocument = unknown> = TDocument export interface IndexRequest<TDocument = unknown> extends RequestBase { id?: Id index: IndexName type?: Type if_primary_term?: long if_seq_no?: SequenceNumber op_type?: OpType pipeline?: string refresh?: Refresh routing?: Routing timeout?: Time version?: VersionNumber version_type?: VersionType wait_for_active_shards?: WaitForActiveShards require_alias?: boolean body?: TDocument } export interface IndexResponse extends WriteResponseBase { } export interface InfoRequest extends RequestBase { } export interface InfoResponse { cluster_name: Name cluster_uuid: Uuid name: Name version: OpenSearchVersionInfo } export interface MgetHit<TDocument = unknown> { error?: MainError fields?: Record<string, any> found?: boolean _id: Id _index: IndexName _primary_term?: long _routing?: Routing _seq_no?: SequenceNumber _source?: TDocument _type?: Type _version?: VersionNumber } export type MgetMultiGetId = string | integer export interface MgetOperation { _id: MgetMultiGetId _index?: IndexName routing?: Routing _source?: boolean | Fields | SearchSourceFilter stored_fields?: Fields _type?: Type version?: VersionNumber version_type?: VersionType } export interface MgetRequest extends RequestBase { index?: IndexName type?: Type preference?: string realtime?: boolean refresh?: boolean routing?: Routing _source?: boolean | Fields _source_excludes?: Fields _source_includes?: Fields stored_fields?: Fields body?: { docs?: MgetOperation[] ids?: MgetMultiGetId[] } } export interface MgetResponse<TDocument = unknown> { docs: MgetHit<TDocument>[] } export interface MsearchBody { aggregations?: Record<string, AggregationsAggregationContainer> aggs?: Record<string, AggregationsAggregationContainer> query?: QueryDslQueryContainer from?: integer size?: integer pit?: SearchPointInTimeReference track_total_hits?: boolean | integer suggest?: SearchSuggestContainer | Record<string, SearchSuggestContainer> } export interface MsearchHeader { allow_no_indices?: boolean expand_wildcards?: ExpandWildcards ignore_unavailable?: boolean index?: Indices preference?: string request_cache?: boolean routing?: string search_type?: SearchType } export interface MsearchRequest extends RequestBase { index?: Indices type?: Types allow_no_indices?: boolean ccs_minimize_roundtrips?: boolean expand_wildcards?: ExpandWildcards ignore_throttled?: boolean ignore_unavailable?: boolean max_concurrent_searches?: long max_concurrent_shard_requests?: long pre_filter_shard_size?: long search_type?: SearchType rest_total_hits_as_int?: boolean typed_keys?: boolean body?: (MsearchHeader | MsearchBody)[] } export interface MsearchResponse<TDocument = unknown> { took: long responses: (MsearchSearchResult<TDocument> | ErrorResponseBase)[] } export interface MsearchSearchResult<TDocument = unknown> extends SearchResponse<TDocument> { status: integer } export interface MsearchTemplateRequest extends RequestBase { index?: Indices type?: Types ccs_minimize_roundtrips?: boolean max_concurrent_searches?: long search_type?: SearchType rest_total_hits_as_int?: boolean typed_keys?: boolean body?: MsearchTemplateTemplateItem[] } export interface MsearchTemplateResponse<TDocument = unknown> { responses: SearchResponse<TDocument>[] took: long } export interface MsearchTemplateTemplateItem { id?: Id index?: Indices params?: Record<string, any> source?: string } export interface MtermvectorsOperation { doc: object fields: Fields field_statistics: boolean filter: TermvectorsFilter _id: Id _index: IndexName offsets: boolean payloads: boolean positions: boolean routing: Routing term_statistics: boolean version: VersionNumber version_type: VersionType } export interface MtermvectorsRequest extends RequestBase { index?: IndexName type?: Type fields?: Fields field_statistics?: boolean offsets?: boolean payloads?: boolean positions?: boolean preference?: string realtime?: boolean routing?: Routing term_statistics?: boolean version?: VersionNumber version_type?: VersionType body?: { docs?: MtermvectorsOperation[] ids?: Id[] } } export interface MtermvectorsResponse { docs: MtermvectorsTermVectorsResult[] } export interface MtermvectorsTermVectorsResult { found: boolean id: Id index: IndexName term_vectors: Record<Field, TermvectorsTermVector> took: long version: VersionNumber } export interface PingRequest extends RequestBase { } export type PingResponse = boolean export interface PutScriptRequest extends RequestBase { id: Id context?: Name master_timeout?: Time timeout?: Time body?: { script?: StoredScript } } export interface PutScriptResponse extends AcknowledgedResponseBase { } export interface RankEvalDocumentRating { _id: Id _index: IndexName rating: integer } export interface RankEvalRankEvalHit { _id: Id _index: IndexName _type?: Type _score: double } export interface RankEvalRankEvalHitItem { hit: RankEvalRankEvalHit rating?: double } export interface RankEvalRankEvalMetric { precision?: RankEvalRankEvalMetricPrecision recall?: RankEvalRankEvalMetricRecall mean_reciprocal_rank?: RankEvalRankEvalMetricMeanReciprocalRank dcg?: RankEvalRankEvalMetricDiscountedCumulativeGain expected_reciprocal_rank?: RankEvalRankEvalMetricExpectedReciprocalRank } export interface RankEvalRankEvalMetricBase { k?: integer } export interface RankEvalRankEvalMetricDetail { metric_score: double unrated_docs: RankEvalUnratedDocument[] hits: RankEvalRankEvalHitItem[] metric_details: Record<string, Record<string, any>> } export interface RankEvalRankEvalMetricDiscountedCumulativeGain extends RankEvalRankEvalMetricBase { normalize?: boolean } export interface RankEvalRankEvalMetricExpectedReciprocalRank extends RankEvalRankEvalMetricBase { maximum_relevance: integer } export interface RankEvalRankEvalMetricMeanReciprocalRank extends RankEvalRankEvalMetricRatingTreshold { } export interface RankEvalRankEvalMetricPrecision extends RankEvalRankEvalMetricRatingTreshold { ignore_unlabeled?: boolean } export interface RankEvalRankEvalMetricRatingTreshold extends RankEvalRankEvalMetricBase { relevant_rating_threshold?: integer } export interface RankEvalRankEvalMetricRecall extends RankEvalRankEvalMetricRatingTreshold { } export interface RankEvalRankEvalQuery { query: QueryDslQueryContainer size?: integer } export interface RankEvalRankEvalRequestItem { id: Id request?: RankEvalRankEvalQuery ratings: RankEvalDocumentRating[] template_id?: Id params?: Record<string, any> } export interface RankEvalRequest extends RequestBase { index: Indices allow_no_indices?: boolean expand_wildcards?: ExpandWildcards ignore_unavailable?: boolean search_type?: string body?: { requests: RankEvalRankEvalRequestItem[] metric?: RankEvalRankEvalMetric } } export interface RankEvalResponse { metric_score: double details: Record<Id, RankEvalRankEvalMetricDetail> failures: Record<string, any> } export interface RankEvalUnratedDocument { _id: Id _index: IndexName } export interface ReindexDestination { index: IndexName op_type?: OpType pipeline?: string routing?: Routing version_type?: VersionType } export interface ReindexRemoteSource { connect_timeout: Time host: Host username: Username password: Password socket_timeout: Time } export interface ReindexRequest extends RequestBase { refresh?: boolean requests_per_second?: long scroll?: Time slices?: long timeout?: Time wait_for_active_shards?: WaitForActiveShards wait_for_completion?: boolean require_alias?: boolean body?: { conflicts?: Conflicts dest?: ReindexDestination max_docs?: long script?: Script size?: long source?: ReindexSource } } export interface ReindexResponse { batches?: long created?: long deleted?: long failures?: BulkIndexByScrollFailure[] noops?: long retries?: Retries requests_per_second?: long slice_id?: integer task?: TaskId throttled_millis?: EpochMillis throttled_until_millis?: EpochMillis timed_out?: boolean took?: Time total?: long updated?: long version_conflicts?: long } export interface ReindexSource { index: Indices query?: QueryDslQueryContainer remote?: ReindexRemoteSource size?: integer slice?: SlicedScroll sort?: SearchSort _source?: Fields } export interface ReindexRethrottleReindexNode extends SpecUtilsBaseNode { tasks: Record<TaskId, ReindexRethrottleReindexTask> } export interface ReindexRethrottleReindexStatus { batches: long created: long deleted: long noops: long requests_per_second: float retries: Retries throttled_millis: long throttled_until_millis: long total: long updated: long version_conflicts: long } export interface ReindexRethrottleReindexTask { action: string cancellable: boolean description: string id: long node: Name running_time_in_nanos: long start_time_in_millis: long status: ReindexRethrottleReindexStatus type: string headers: HttpHeaders } export interface ReindexRethrottleRequest extends RequestBase { task_id: Id requests_per_second?: long } export interface ReindexRethrottleResponse { nodes: Record<string, ReindexRethrottleReindexNode> } export interface RenderSearchTemplateRequest extends RequestBase { body?: { file?: string params?: Record<string, any> source?: string } } export interface RenderSearchTemplateResponse { template_output: Record<string, any> } export interface ScriptsPainlessExecutePainlessContextSetup { document: any index: IndexName query: QueryDslQueryContainer } export interface ScriptsPainlessExecutePainlessExecutionPosition { offset: integer start: integer end: integer } export interface ScriptsPainlessExecuteRequest extends RequestBase { body?: { context?: string context_setup?: ScriptsPainlessExecutePainlessContextSetup script?: InlineScript } } export interface ScriptsPainlessExecuteResponse<TResult = unknown> { result: TResult } export interface ScrollRequest extends RequestBase { scroll_id?: Id scroll?: Time rest_total_hits_as_int?: boolean total_hits_as_integer?: boolean body?: { scroll?: Time scroll_id: ScrollId rest_total_hits_as_int?: boolean } } export interface ScrollResponse<TDocument = unknown> extends SearchResponse<TDocument> { } export interface SearchRequest extends RequestBase { index?: Indices type?: Types allow_no_indices?: boolean allow_partial_search_results?: boolean analyzer?: string analyze_wildcard?: boolean batched_reduce_size?: long ccs_minimize_roundtrips?: boolean default_operator?: DefaultOperator df?: string docvalue_fields?: Fields expand_wildcards?: ExpandWildcards explain?: boolean ignore_throttled?: boolean ignore_unavailable?: boolean lenient?: boolean max_concurrent_shard_requests?: long min_compatible_shard_node?: VersionString preference?: string pre_filter_shard_size?: long request_cache?: boolean routing?: Routing scroll?: Time search_type?: SearchType stats?: string[] stored_fields?: Fields suggest_field?: Field suggest_mode?: SuggestMode suggest_size?: long suggest_text?: string terminate_after?: long timeout?: Time track_total_hits?: boolean | integer track_scores?: boolean typed_keys?: boolean rest_total_hits_as_int?: boolean version?: boolean _source?: boolean | Fields _source_excludes?: Fields _source_includes?: Fields seq_no_primary_term?: boolean q?: string size?: integer from?: integer sort?: string | string[] body?: { aggs?: Record<string, AggregationsAggregationContainer> aggregations?: Record<string, AggregationsAggregationContainer> collapse?: SearchFieldCollapse explain?: boolean from?: integer highlight?: SearchHighlight track_total_hits?: boolean | integer indices_boost?: Record<IndexName, double>[] docvalue_fields?: SearchDocValueField | (Field | SearchDocValueField)[] min_score?: double post_filter?: QueryDslQueryContainer profile?: boolean query?: QueryDslQueryContainer rescore?: SearchRescore | SearchRescore[] script_fields?: Record<string, ScriptField> search_after?: (integer | string)[] size?: integer slice?: SlicedScroll sort?: SearchSort _source?: boolean | Fields | SearchSourceFilter fields?: (Field | DateField)[] suggest?: SearchSuggestContainer | Record<string, SearchSuggestContainer> terminate_after?: long timeout?: string track_scores?: boolean version?: boolean seq_no_primary_term?: boolean stored_fields?: Fields pit?: SearchPointInTimeReference runtime_mappings?: MappingRuntimeFields stats?: string[] } } export interface SearchResponse<TDocument = unknown> { took: long timed_out: boolean _shards: ShardStatistics hits: SearchHitsMetadata<TDocument> aggregations?: Record<AggregateName, AggregationsAggregate> _clusters?: ClusterStatistics documents?: TDocument[] fields?: Record<string, any> max_score?: double num_reduce_phases?: long profile?: SearchProfile pit_id?: Id _scroll_id?: ScrollId suggest?: Record<SuggestionName, SearchSuggest<TDocument>[]> terminated_early?: boolean } export interface SearchAggregationBreakdown { build_aggregation: long build_aggregation_count: long build_leaf_collector: long build_leaf_collector_count: long collect: long collect_count: long initialize: long initialize_count: long post_collection?: long post_collection_count?: long reduce: long reduce_count: long } export interface SearchAggregationProfile { breakdown: SearchAggregationBreakdown description: string time_in_nanos: long type: string debug?: SearchAggregationProfileDebug children?: SearchAggregationProfileDebug[] } export interface SearchAggregationProfileDebug { } export type SearchBoundaryScanner = 'chars' | 'sentence' | 'word' export interface SearchCollector { name: string reason: string time_in_nanos: long children?: SearchCollector[] } export interface SearchCompletionSuggestOption<TDocument = unknown> { collate_match?: boolean contexts?: Record<string, SearchContext[]> fields?: Record<string, any> _id: string _index: IndexName _type?: Type _routing?: Routing _score: double _source: TDocument text: string } export interface SearchCompletionSuggester extends SearchSuggesterBase { contexts?: Record<string, string | string[] | QueryDslGeoLocation | SearchSuggestContextQuery[]> fuzzy?: SearchSuggestFuzziness prefix?: string regex?: string skip_duplicates?: boolean } export type SearchContext = string | QueryDslGeoLocation export interface SearchDirectGenerator { field: Field max_edits?: integer max_inspections?: float max_term_freq?: float min_doc_freq?: float min_word_length?: integer post_filter?: string pre_filter?: string prefix_length?: integer size?: integer suggest_mode?: SuggestMode } export interface SearchDocValueField { field: Field format?: string } export interface SearchFieldCollapse { field: Field inner_hits?: SearchInnerHits | SearchInnerHits[] max_concurrent_group_searches?: integer } export interface SearchFieldSort { missing?: AggregationsMissing mode?: SearchSortMode nested?: SearchNestedSortValue order?: SearchSortOrder unmapped_type?: MappingFieldType } export interface SearchGeoDistanceSortKeys { mode?: SearchSortMode distance_type?: GeoDistanceType order?: SearchSortOrder unit?: DistanceUnit } export type SearchGeoDistanceSort = SearchGeoDistanceSortKeys | { [property: string]: QueryDslGeoLocation | QueryDslGeoLocation[] } export interface SearchHighlight { fields: Record<Field, SearchHighlightField> type?: SearchHighlighterType boundary_chars?: string boundary_max_scan?: integer boundary_scanner?: SearchBoundaryScanner boundary_scanner_locale?: string encoder?: SearchHighlighterEncoder fragmenter?: SearchHighlighterFragmenter fragment_offset?: integer fragment_size?: integer max_fragment_length?: integer no_match_size?: integer number_of_fragments?: integer order?: SearchHighlighterOrder post_tags?: string[] pre_tags?: string[] require_field_match?: boolean tags_schema?: SearchHighlighterTagsSchema highlight_query?: QueryDslQueryContainer max_analyzed_offset?: string | integer } export interface SearchHighlightField { boundary_chars?: string boundary_max_scan?: integer boundary_scanner?: SearchBoundaryScanner boundary_scanner_locale?: string field?: Field force_source?: boolean fragmenter?: SearchHighlighterFragmenter fragment_offset?: integer fragment_size?: integer highlight_query?: QueryDslQueryContainer matched_fields?: Fields max_fragment_length?: integer no_match_size?: integer number_of_fragments?: integer order?: SearchHighlighterOrder phrase_limit?: integer post_tags?: string[] pre_tags?: string[] require_field_match?: boolean tags_schema?: SearchHighlighterTagsSchema type?: SearchHighlighterType | string } export type SearchHighlighterEncoder = 'default' | 'html' export type SearchHighlighterFragmenter = 'simple' | 'span' export type SearchHighlighterOrder = 'score' export type SearchHighlighterTagsSchema = 'styled' export type SearchHighlighterType = 'plain' | 'fvh' | 'unified' export interface SearchHit<TDocument = unknown> { _index: IndexName _id: Id _score?: double _type?: Type _explanation?: ExplainExplanation fields?: Record<string, any> highlight?: Record<string, string[]> inner_hits?: Record<string, SearchInnerHitsResult> matched_queries?: string[] _nested?: SearchNestedIdentity _ignored?: string[] _shard?: string _node?: string _routing?: string _source?: TDocument _seq_no?: SequenceNumber _primary_term?: long _version?: VersionNumber sort?: SearchSortResults } export interface SearchHitsMetadata<T = unknown> { total: SearchTotalHits | long hits: SearchHit<T>[] max_score?: double } export interface SearchInnerHits { name?: Name size?: integer from?: integer collapse?: SearchFieldCollapse docvalue_fields?: Fields explain?: boolean highlight?: SearchHighlight ignore_unmapped?: boolean script_fields?: Record<string, ScriptField> seq_no_primary_term?: boolean fields?: Fields sort?: SearchSort _source?: boolean | SearchSourceFilter version?: boolean } export interface SearchInnerHitsMetadata { total: SearchTotalHits | long hits: SearchHit<Record<string, any>>[] max_score?: double } export interface SearchInnerHitsResult { hits: SearchInnerHitsMetadata } export interface SearchLaplaceSmoothingModel { alpha: double } export interface SearchLinearInterpolationSmoothingModel { bigram_lambda: double trigram_lambda: double unigram_lambda: double } export interface SearchNestedIdentity { field: Field offset: integer _nested?: SearchNestedIdentity } export interface SearchNestedSortValue { filter?: QueryDslQueryContainer max_children?: integer path: Field } export interface SearchPhraseSuggestCollate { params?: Record<string, any> prune?: boolean query: SearchPhraseSuggestCollateQuery } export interface SearchPhraseSuggestCollateQuery { id?: Id source?: string } export interface SearchPhraseSuggestHighlight { post_tag: string pre_tag: string } export interface SearchPhraseSuggestOption { text: string highlighted: string score: double } export interface SearchPhraseSuggester extends SearchSuggesterBase { collate?: SearchPhraseSuggestCollate confidence?: double direct_generator?: SearchDirectGenerator[] force_unigrams?: boolean gram_size?: integer highlight?: SearchPhraseSuggestHighlight max_errors?: double real_word_error_likelihood?: double separator?: string shard_size?: integer smoothing?: SearchSmoothingModelContainer text?: string token_limit?: integer } export interface SearchPointInTimeReference { id: Id keep_alive?: Time } export interface SearchProfile { shards: SearchShardProfile[] } export interface SearchQueryBreakdown { advance: long advance_count: long build_scorer: long build_scorer_count: long create_weight: long create_weight_count: long match: long match_count: long shallow_advance: long shallow_advance_count: long next_doc: long next_doc_count: long score: long score_count: long compute_max_score: long compute_max_score_count: long set_min_competitive_score: long set_min_competitive_score_count: long } export interface SearchQueryProfile { breakdown: SearchQueryBreakdown description: string time_in_nanos: long type: string children?: SearchQueryProfile[] } export interface SearchRescore { query: SearchRescoreQuery window_size?: integer } export interface SearchRescoreQuery { rescore_query: QueryDslQueryContainer query_weight?: double rescore_query_weight?: double score_mode?: SearchScoreMode } export type SearchScoreMode = 'avg' | 'max' | 'min' | 'multiply' | 'total' export interface SearchScoreSort { mode?: SearchSortMode order?: SearchSortOrder } export interface SearchScriptSort { order?: SearchSortOrder script: Script type?: string } export interface SearchSearchProfile { collector: SearchCollector[] query: SearchQueryProfile[] rewrite_time: long } export interface SearchShardProfile { aggregations: SearchAggregationProfile[] id: string searches: SearchSearchProfile[] } export interface SearchSmoothingModelContainer { laplace?: SearchLaplaceSmoothingModel linear_interpolation?: SearchLinearInterpolationSmoothingModel stupid_backoff?: SearchStupidBackoffSmoothingModel } export type SearchSort = SearchSortCombinations | SearchSortCombinations[] export type SearchSortCombinations = Field | SearchSortContainer | SearchSortOrder export interface SearchSortContainerKeys { _score?: SearchScoreSort _doc?: SearchScoreSort _geo_distance?: SearchGeoDistanceSort _script?: SearchScriptSort } export type SearchSortContainer = SearchSortContainerKeys | { [property: string]: SearchFieldSort | SearchSortOrder } export type SearchSortMode = 'min' | 'max' | 'sum' | 'avg' | 'median' export type SearchSortOrder = 'asc' | 'desc' | '_doc' export type SearchSortResults = (long | double | string | null)[] export interface SearchSourceFilter { excludes?: Fields includes?: Fields exclude?: Fields include?: Fields } export type SearchStringDistance = 'internal' | 'damerau_levenshtein' | 'levenshtein' | 'jaro_winkler' | 'ngram' export interface SearchStupidBackoffSmoothingModel { discount: double } export interface SearchSuggest<T = unknown> { length: integer offset: integer options: SearchSuggestOption<T>[] text: string } export interface SearchSuggestContainer { completion?: SearchCompletionSuggester phrase?: SearchPhraseSuggester prefix?: string regex?: string term?: SearchTermSuggester text?: string } export interface SearchSuggestContextQuery { boost?: double context: SearchContext neighbours?: Distance[] | integer[] precision?: Distance | integer prefix?: boolean } export interface SearchSuggestFuzziness { fuzziness: Fuzziness min_length: integer prefix_length: integer transpositions: boolean unicode_aware: boolean } export type SearchSuggestOption<TDocument = unknown> = SearchCompletionSuggestOption<TDocument> | SearchPhraseSuggestOption | SearchTermSuggestOption export type SearchSuggestSort = 'score' | 'frequency' export interface SearchSuggesterBase { field: Field analyzer?: string size?: integer } export interface SearchTermSuggestOption { text: string freq?: long score: double } export interface SearchTermSuggester extends SearchSuggesterBase { lowercase_terms?: boolean max_edits?: integer max_inspections?: integer max_term_freq?: float min_doc_freq?: float min_word_length?: integer prefix_length?: integer shard_size?: integer sort?: SearchSuggestSort string_distance?: SearchStringDistance suggest_mode?: SuggestMode text?: string } export interface SearchTotalHits { relation: SearchTotalHitsRelation value: long } export type SearchTotalHitsRelation = 'eq' | 'gte' export interface SearchShardsRequest extends RequestBase { index?: Indices allow_no_indices?: boolean expand_wildcards?: ExpandWildcards ignore_unavailable?: boolean local?: boolean preference?: string routing?: Routing } export interface SearchShardsResponse { nodes: Record<string, NodeAttributes> shards: NodeShard[][] indices: Record<IndexName, SearchShardsShardStoreIndex> } export interface SearchShardsShardStoreIndex { aliases?: Name[] filter?: QueryDslQueryContainer } export interface SearchTemplateRequest extends RequestBase { index?: Indices type?: Types allow_no_indices?: boolean ccs_minimize_roundtrips?: boolean expand_wildcards?: ExpandWildcards explain?: boolean ignore_throttled?: boolean ignore_unavailable?: boolean preference?: string profile?: boolean routing?: Routing scroll?: Time search_type?: SearchType total_hits_as_integer?: boolean typed_keys?: boolean body?: { id?: Id params?: Record<string, any> source?: string } } export interface SearchTemplateResponse<TDocument = unknown> { _shards: ShardStatistics timed_out: boolean took: integer hits: SearchHitsMetadata<TDocument> } export interface TermsEnumRequest extends RequestBase { index: IndexName body?: { field: Field size?: integer timeout?: Time case_insensitive?: boolean index_filter?: QueryDslQueryContainer string?: string search_after?: string } } export interface TermsEnumResponse { _shards: ShardStatistics terms: string[] complete: boolean } export interface TermvectorsFieldStatistics { doc_count: integer sum_doc_freq: long sum_ttf: long } export interface TermvectorsFilter { max_doc_freq?: integer max_num_terms?: integer max_term_freq?: integer max_word_length?: integer min_doc_freq?: integer min_term_freq?: integer min_word_length?: integer } export interface TermvectorsRequest<TDocument = unknown> extends RequestBase { index: IndexName id?: Id type?: Type fields?: Fields field_statistics?: boolean offsets?: boolean payloads?: boolean positions?: boolean preference?: string realtime?: boolean routing?: Routing term_statistics?: boolean version?: VersionNumber version_type?: VersionType body?: { doc?: TDocument filter?: TermvectorsFilter per_field_analyzer?: Record<Field, string> } } export interface TermvectorsResponse { found: boolean _id: Id _index: IndexName term_vectors?: Record<Field, TermvectorsTermVector> took: long _type?: Type _version: VersionNumber } export interface TermvectorsTerm { doc_freq?: integer score?: double term_freq: integer tokens: TermvectorsToken[] ttf?: integer } export interface TermvectorsTermVector { field_statistics: TermvectorsFieldStatistics terms: Record<string, TermvectorsTerm> } export interface TermvectorsToken { end_offset?: integer payload?: string position: integer start_offset?: integer } export interface UpdateRequest<TDocument = unknown, TPartialDocument = unknown> extends RequestBase { id: Id index: IndexName type?: Type if_primary_term?: long if_seq_no?: SequenceNumber lang?: string refresh?: Refresh require_alias?: boolean retry_on_conflict?: long routing?: Routing source_enabled?: boolean timeout?: Time wait_for_active_shards?: WaitForActiveShards _source?: boolean | Fields _source_excludes?: Fields _source_includes?: Fields body?: { detect_noop?: boolean doc?: TPartialDocument doc_as_upsert?: boolean script?: Script scripted_upsert?: boolean _source?: boolean | SearchSourceFilter upsert?: TDocument } } export interface UpdateResponse<TDocument = unknown> extends WriteResponseBase { get?: InlineGet<TDocument> } export interface UpdateByQueryRequest extends RequestBase { index: Indices type?: Types allow_no_indices?: boolean analyzer?: string analyze_wildcard?: boolean conflicts?: Conflicts default_operator?: DefaultOperator df?: string expand_wildcards?: ExpandWildcards from?: long ignore_unavailable?: boolean lenient?: boolean pipeline?: string preference?: string query_on_query_string?: string refresh?: boolean request_cache?: boolean requests_per_second?: long routing?: Routing scroll?: Time scroll_size?: long search_timeout?: Time search_type?: SearchType size?: long slices?: long sort?: string[] source_enabled?: boolean source_excludes?: Fields source_includes?: Fields stats?: string[] terminate_after?: long timeout?: Time version?: boolean version_type?: boolean wait_for_active_shards?: WaitForActiveShards wait_for_completion?: boolean body?: { max_docs?: long query?: QueryDslQueryContainer script?: Script slice?: SlicedScroll conflicts?: Conflicts } } export interface UpdateByQueryResponse { batches?: long failures?: BulkIndexByScrollFailure[] noops?: long deleted?: long requests_per_second?: float retries?: Retries task?: TaskId timed_out?: boolean took?: long total?: long updated?: long version_conflicts?: long throttled_millis?: ulong throttled_until_millis?: ulong } export interface UpdateByQueryRethrottleRequest extends RequestBase { task_id: Id requests_per_second?: long } export interface UpdateByQueryRethrottleResponse { nodes: Record<string, UpdateByQueryRethrottleUpdateByQueryRethrottleNode> } export interface UpdateByQueryRethrottleUpdateByQueryRethrottleNode extends SpecUtilsBaseNode { tasks: Record<TaskId, TaskInfo> } export interface SpecUtilsBaseNode { attributes: Record<string, string> host: Host ip: Ip name: Name roles?: NodeRoles transport_address: TransportAddress } export interface AcknowledgedResponseBase { acknowledged: boolean } export type AggregateName = string export interface BulkIndexByScrollFailure { cause: MainError id: Id index: IndexName status: integer type: string } export interface BulkStats { total_operations: long total_time?: string total_time_in_millis: long total_size?: ByteSize total_size_in_bytes: long avg_time?: string avg_time_in_millis: long avg_size?: ByteSize avg_size_in_bytes: long } export type ByteSize = long | string export type Bytes = 'b' | 'k' | 'kb' | 'm' | 'mb' | 'g' | 'gb' | 't' | 'tb' | 'p' | 'pb' export type CategoryId = string export interface ClusterStatistics { skipped: integer successful: integer total: integer } export interface CompletionStats { size_in_bytes: long size?: ByteSize fields?: Record<Field, FieldSizeUsage> } export type Conflicts = 'abort' | 'proceed' export type DataStreamName = string export interface DateField { field: Field format?: string include_unmapped?: boolean } export type DateMath = string export type DateMathTime = string export type DateString = string export type DefaultOperator = 'AND' | 'OR' export interface DictionaryResponseBase<TKey = unknown, TValue = unknown> { [key: string]: TValue } export type Distance = string export type DistanceUnit = 'in' | 'ft' | 'yd' | 'mi' | 'nmi' | 'km' | 'm' | 'cm' | 'mm' export interface DocStats { count: long deleted: long } export interface OpenSearchVersionInfo { build_date: DateString build_hash: string build_snapshot: boolean build_type: string distribution: string lucene_version: VersionString minimum_index_compatibility_version: VersionString minimum_wire_compatibility_version: VersionString number: string } export interface EmptyObject { } export type EpochMillis = string | long export interface ErrorCause { type: string reason: string caused_by?: ErrorCause shard?: integer | string stack_trace?: string root_cause?: ErrorCause[] bytes_limit?: long bytes_wanted?: long column?: integer col?: integer failed_shards?: ShardFailure[] grouped?: boolean index?: IndexName index_uuid?: Uuid language?: string licensed_expired_feature?: string line?: integer max_buckets?: integer phase?: string property_name?: string processor_type?: string resource_id?: Ids 'resource.id'?: Ids resource_type?: string 'resource.type'?: string script?: string script_stack?: string[] header?: HttpHeaders lang?: string position?: ScriptsPainlessExecutePainlessExecutionPosition } export interface ErrorResponseBase { error: MainError | string status: integer } export type ExpandWildcardOptions = 'all' | 'open' | 'closed' | 'hidden' | 'none' export type ExpandWildcards = ExpandWildcardOptions | ExpandWildcardOptions[] | string export type Field = string export interface FieldMemoryUsage { memory_size?: ByteSize memory_size_in_bytes: long } export interface FieldSizeUsage { size?: ByteSize size_in_bytes: long } export interface FielddataStats { evictions?: long memory_size?: ByteSize memory_size_in_bytes: long fields?: Record<Field, FieldMemoryUsage> } export type Fields = Field | Field[] export interface FlushStats { periodic: long total: long total_time?: string total_time_in_millis: long } export type Fuzziness = string | integer export type GeoDistanceType = 'arc' | 'plane' export type GeoHashPrecision = number export type GeoShapeRelation = 'intersects' | 'disjoint' | 'within' | 'contains' export type GeoTilePrecision = number export interface GetStats { current: long exists_time?: string exists_time_in_millis: long exists_total: long missing_time?: string missing_time_in_millis: long missing_total: long time?: string time_in_millis: long total: long } export type GroupBy = 'nodes' | 'parents' | 'none' export type Health = 'green' | 'yellow' | 'red' export type Host = string export type HttpHeaders = Record<string, string | string[]> export type Id = string export type Ids = Id | Id[] export type IndexAlias = string export type IndexName = string export type IndexPattern = string export type IndexPatterns = IndexPattern[] export interface IndexedScript extends ScriptBase { id: Id } export interface IndexingStats { index_current: long delete_current: long delete_time?: string delete_time_in_millis: long delete_total: long is_throttled: boolean noop_update_total: long throttle_time?: string throttle_time_in_millis: long index_time?: string index_time_in_millis: long index_total: long index_failed: long types?: Record<string, IndexingStats> } export type Indices = string | string[] export interface IndicesResponseBase extends AcknowledgedResponseBase { _shards?: ShardStatistics } export interface InlineGet<TDocument = unknown> { fields?: Record<string, any> found: boolean _seq_no: SequenceNumber _primary_term: long _routing?: Routing _source: TDocument } export interface InlineScript extends ScriptBase { source: string } export type Ip = string export interface LatLon { lat: double lon: double } export type Level = 'cluster' | 'indices' | 'shards' export type LifecycleOperationMode = 'RUNNING' | 'STOPPING' | 'STOPPED' export interface MainError extends ErrorCause { headers?: Record<string, string> root_cause: ErrorCause[] } export interface MergesStats { current: long current_docs: long current_size?: string current_size_in_bytes: long total: long total_auto_throttle?: string total_auto_throttle_in_bytes: long total_docs: long total_size?: string total_size_in_bytes: long total_stopped_time?: string total_stopped_time_in_millis: long total_throttled_time?: string total_throttled_time_in_millis: long total_time?: string total_time_in_millis: long } export type Metadata = Record<string, any> export type Metrics = string | string[] export type MinimumShouldMatch = integer | string export type MultiTermQueryRewrite = string export type Name = string export type Names = string | string[] export type Namespace = string export interface NodeAttributes { attributes: Record<string, string> ephemeral_id: Id id?: Id name: NodeName transport_address: TransportAddress roles?: NodeRoles } export type NodeId = string export type NodeIds = string export type NodeName = string export type NodeRole = 'master' | 'data' | 'client' | 'ingest' | 'voting_only' | 'remote_cluster_client' | 'coordinating_only' export type NodeRoles = NodeRole[] export interface NodeShard { state: IndicesStatsShardRoutingState primary: boolean node?: NodeName shard: integer index: IndexName allocation_id?: Record<string, Id> recovery_source?: Record<string, Id> unassigned_info?: ClusterAllocationExplainUnassignedInformation } export interface NodeStatistics { failures?: ErrorCause[] total: integer successful: integer failed: integer } export type OpType = 'index' | 'create' export type Password = string export type Percentage = string | float export type PipelineName = string export interface PluginStats { classname: string description: string opensearch_version: VersionString extended_plugins: string[] has_native_controller: boolean java_version: VersionString name: Name version: VersionString licensed: boolean type: string } export type PropertyName = string export interface QueryCacheStats { cache_count: integer cache_size: integer evictions: integer hit_count: integer memory_size?: ByteSize memory_size_in_bytes: integer miss_count: integer total_count: integer } export interface RecoveryStats { current_as_source: long current_as_target: long throttle_time?: string throttle_time_in_millis: long } export type Refresh = boolean | RefreshOptions export type RefreshOptions = 'wait_for' export interface RefreshStats { external_total: long external_total_time_in_millis: long listeners: long total: long total_time?: string total_time_in_millis: long } export type RelationName = string export interface RequestBase extends SpecUtilsCommonQueryParameters { } export interface RequestCacheStats { evictions: long hit_count: long memory_size?: string memory_size_in_bytes: long miss_count: long } export type Result = 'Error' | 'created' | 'updated' | 'deleted' | 'not_found' | 'noop' export interface Retries { bulk: long search: long } export type Routing = string | number export type Script = InlineScript | IndexedScript | string export interface ScriptBase { lang?: ScriptLanguage params?: Record<stri