import type { estypes } from "@elastic/elasticsearch"; import type { MappingObject } from "./search-query.js"; export type FullTextQuery = CombinedFields | Intervals | Match | MatchAll | MatchBoolPrefix | MatchNone | MatchPhrase | MatchPhrasePrefix | MultiMatch | QueryString | SimpleQueryString; /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html */ export interface Intervals { intervals: estypes.QueryDslIntervalsQuery; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html */ export interface Match { match: { [field in keyof Mapping["properties"]]?: estypes.QueryDslMatchQuery; }; } export interface MatchAll { match_all: { boost?: number; }; } export interface MatchNone { match_none: Record; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-bool-prefix-query.html */ export interface MatchBoolPrefix { match_bool_prefix: estypes.QueryDslMatchBoolPrefixQuery; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase.html */ export interface MatchPhrase { match_phrase: estypes.QueryDslMatchPhraseQuery; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html */ export interface MatchPhrasePrefix { match_phrase_prefix: estypes.QueryDslMatchPhrasePrefixQuery; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-combined-fields-query.html */ export interface CombinedFields { combined_fields: Omit & { fields: (keyof Mapping["properties"])[]; }; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html */ export interface MultiMatch { multi_match: { fields: FieldNameOrBoosted[]; } & Omit; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html */ export interface QueryString { query_string: { fields: FieldNameOrBoosted[]; } & Omit; } /** * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html */ export interface SimpleQueryString { simple_query_string: { fields: FieldNameOrBoosted[]; } & Omit; } export type FieldNameOrBoosted = keyof Mapping["properties"] | `${Extract}^${number}`; //# sourceMappingURL=full-text-query.d.ts.map