elasticlink 1.0.0-beta.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +74 -31
  2. package/dist/index.cjs +1528 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +1890 -0
  5. package/dist/index.d.cts.map +1 -0
  6. package/dist/index.d.ts +1889 -20
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1474 -18
  9. package/dist/index.js.map +1 -0
  10. package/package.json +27 -21
  11. package/dist/aggregation.builder.d.ts +0 -6
  12. package/dist/aggregation.builder.d.ts.map +0 -1
  13. package/dist/aggregation.builder.js +0 -81
  14. package/dist/aggregation.types.d.ts +0 -258
  15. package/dist/aggregation.types.d.ts.map +0 -1
  16. package/dist/aggregation.types.js +0 -6
  17. package/dist/bulk.builder.d.ts +0 -29
  18. package/dist/bulk.builder.d.ts.map +0 -1
  19. package/dist/bulk.builder.js +0 -51
  20. package/dist/bulk.types.d.ts +0 -47
  21. package/dist/bulk.types.d.ts.map +0 -1
  22. package/dist/bulk.types.js +0 -6
  23. package/dist/field.helpers.d.ts +0 -241
  24. package/dist/field.helpers.d.ts.map +0 -1
  25. package/dist/field.helpers.js +0 -333
  26. package/dist/field.types.d.ts +0 -348
  27. package/dist/field.types.d.ts.map +0 -1
  28. package/dist/field.types.js +0 -6
  29. package/dist/index-management.builder.d.ts +0 -38
  30. package/dist/index-management.builder.d.ts.map +0 -1
  31. package/dist/index-management.builder.js +0 -69
  32. package/dist/index-management.types.d.ts +0 -136
  33. package/dist/index-management.types.d.ts.map +0 -1
  34. package/dist/index-management.types.js +0 -6
  35. package/dist/mapping.builder.d.ts +0 -53
  36. package/dist/mapping.builder.d.ts.map +0 -1
  37. package/dist/mapping.builder.js +0 -39
  38. package/dist/mapping.types.d.ts +0 -200
  39. package/dist/mapping.types.d.ts.map +0 -1
  40. package/dist/mapping.types.js +0 -6
  41. package/dist/multi-search.builder.d.ts +0 -23
  42. package/dist/multi-search.builder.d.ts.map +0 -1
  43. package/dist/multi-search.builder.js +0 -48
  44. package/dist/multi-search.types.d.ts +0 -50
  45. package/dist/multi-search.types.d.ts.map +0 -1
  46. package/dist/multi-search.types.js +0 -6
  47. package/dist/query.builder.d.ts +0 -4
  48. package/dist/query.builder.d.ts.map +0 -1
  49. package/dist/query.builder.js +0 -329
  50. package/dist/query.types.d.ts +0 -468
  51. package/dist/query.types.d.ts.map +0 -1
  52. package/dist/query.types.js +0 -7
  53. package/dist/settings.presets.d.ts +0 -117
  54. package/dist/settings.presets.d.ts.map +0 -1
  55. package/dist/settings.presets.js +0 -137
  56. package/dist/suggester.builder.d.ts +0 -23
  57. package/dist/suggester.builder.d.ts.map +0 -1
  58. package/dist/suggester.builder.js +0 -51
  59. package/dist/suggester.types.d.ts +0 -90
  60. package/dist/suggester.types.d.ts.map +0 -1
  61. package/dist/suggester.types.js +0 -6
  62. package/dist/vector.types.d.ts +0 -17
  63. package/dist/vector.types.d.ts.map +0 -1
  64. package/dist/vector.types.js +0 -6
@@ -1,468 +0,0 @@
1
- /**
2
- * Type definitions for Query Builder
3
- * Field constraints are derived from the MappingsSchema field-type map M.
4
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html
5
- */
6
- import type { QueryDslMatchQuery, QueryDslMultiMatchQuery, QueryDslFuzzyQuery, QueryDslRegexpQuery, QueryDslConstantScoreQuery, QueryDslScriptQuery, QueryDslScriptScoreQuery, QueryDslPercolateQuery, QueryDslMatchPhrasePrefixQuery, QueryDslCombinedFieldsQuery, QueryDslQueryStringQuery, QueryDslSimpleQueryStringQuery, QueryDslMoreLikeThisQuery, QueryDslMatchBoolPrefixQuery, QueryDslNestedQuery, QueryDslQueryContainer, QueryDslDistanceFeatureQuery, QueryDslRankFeatureQuery, QueryDslSparseVectorQuery, QueryDslFunctionScoreQuery, QueryDslHasChildQuery, QueryDslHasParentQuery, QueryDslParentIdQuery, QueryDslIntervalsQuery, QueryDslSpanNearQuery, QueryDslSpanNotQuery, QueryDslSpanQuery, MappingRuntimeField, QueryDslFieldAndFormat, ScriptField, SearchHighlightBase, SearchInnerHits, RescoreVector, QueryVectorBuilder, Script, SortResults } from '@elastic/elasticsearch/lib/api/types';
7
- import type { FieldTypeString } from './index-management.types.js';
8
- import type { TextFields, KeywordFields, NumericFields, DateFields, BooleanFields, GeoPointFields, GeoShapeFields, DenseVectorFields, SparseVectorFields, RankFeatureFields, IpFields, NestedPathFields, SubFieldsOf, FieldValueType, SortableFields, CollapsibleFields, HighlightableFields } from './mapping.types.js';
9
- import type { RootAggregationBuilder, AggregationState } from './aggregation.types.js';
10
- import type { KnnOptions } from './vector.types.js';
11
- import type { SuggesterBuilder, SuggesterState } from './suggester.types.js';
12
- export type MatchOptions = Omit<QueryDslMatchQuery, 'query'>;
13
- export type MultiMatchOptions = Omit<QueryDslMultiMatchQuery, 'query' | 'fields'>;
14
- export type FuzzyOptions = Omit<QueryDslFuzzyQuery, 'value'>;
15
- export type HighlightOptions = SearchHighlightBase;
16
- export type RegexpOptions = Omit<QueryDslRegexpQuery, 'value'>;
17
- export type ConstantScoreOptions = Omit<QueryDslConstantScoreQuery, 'filter'>;
18
- export type MatchPhrasePrefixOptions = Omit<QueryDslMatchPhrasePrefixQuery, 'query'>;
19
- export type GeoDistanceOptions = {
20
- distance: string | number;
21
- unit?: 'mi' | 'km' | 'mm' | 'cm' | 'm' | 'yd' | 'ft' | 'in' | 'nmi';
22
- distance_type?: 'arc' | 'plane';
23
- };
24
- export type GeoBoundingBoxOptions = {
25
- top_left?: {
26
- lat: number;
27
- lon: number;
28
- };
29
- bottom_right?: {
30
- lat: number;
31
- lon: number;
32
- };
33
- top?: number;
34
- left?: number;
35
- bottom?: number;
36
- right?: number;
37
- };
38
- export type GeoPolygonOptions = {
39
- points: Array<{
40
- lat: number;
41
- lon: number;
42
- }>;
43
- };
44
- export type GeoShapeQueryOptions = {
45
- relation?: 'intersects' | 'disjoint' | 'within' | 'contains';
46
- boost?: number;
47
- ignore_unmapped?: boolean;
48
- };
49
- export type ScriptOptions = Script;
50
- export type ScriptQueryOptions = Script & Omit<QueryDslScriptQuery, 'script'>;
51
- export type ScriptScoreOptions = Omit<QueryDslScriptScoreQuery, 'query' | 'script'>;
52
- export type PercolateOptions = QueryDslPercolateQuery;
53
- export type CombinedFieldsOptions = Omit<QueryDslCombinedFieldsQuery, 'query' | 'fields'>;
54
- export type QueryStringOptions = Omit<QueryDslQueryStringQuery, 'query'>;
55
- export type SimpleQueryStringOptions = Omit<QueryDslSimpleQueryStringQuery, 'query'>;
56
- export type MoreLikeThisOptions = Omit<QueryDslMoreLikeThisQuery, 'fields' | 'like'>;
57
- export type MatchBoolPrefixOptions = Omit<QueryDslMatchBoolPrefixQuery, 'query'>;
58
- export type NestedOptions = Omit<QueryDslNestedQuery, 'path' | 'query'>;
59
- export type FunctionScoreOptions = Omit<QueryDslFunctionScoreQuery, 'query'>;
60
- export type HasChildOptions = Omit<QueryDslHasChildQuery, 'query' | 'type'>;
61
- export type HasParentOptions = Omit<QueryDslHasParentQuery, 'query' | 'parent_type'>;
62
- export type ParentIdOptions = Omit<QueryDslParentIdQuery, 'id' | 'type'>;
63
- /**
64
- * Options for the `intervals` query — the field is supplied as the first argument.
65
- * The value is the full `QueryDslIntervalsQuery` rule (match, prefix, wildcard, fuzzy, all_of, any_of, etc.).
66
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-intervals-query.html
67
- */
68
- export type IntervalsOptions = QueryDslIntervalsQuery;
69
- /**
70
- * Options for `spanNear` — `clauses` is supplied as the first argument.
71
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-near-query.html
72
- */
73
- export type SpanNearOptions = Omit<QueryDslSpanNearQuery, 'clauses'>;
74
- /**
75
- * Options for `spanNot` — `include` and `exclude` are supplied as the first two arguments.
76
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-not-query.html
77
- */
78
- export type SpanNotOptions = Omit<QueryDslSpanNotQuery, 'include' | 'exclude'>;
79
- /** Re-export the Elastic span query container for composing span clauses. */
80
- export type SpanQuery = QueryDslSpanQuery;
81
- /**
82
- * Options for the `distance_feature` query — boosts documents by proximity of a
83
- * `date`, `date_nanos`, or `geo_point` field to a given origin. The builder
84
- * supplies `field` as an explicit argument and constrains it to date/geo fields.
85
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-distance-feature-query.html
86
- */
87
- export type DistanceFeatureOptions = Omit<QueryDslDistanceFeatureQuery, 'field'>;
88
- /**
89
- * Options for the `rank_feature` query — boosts relevance using a numeric feature
90
- * stored in a `rank_feature` or `rank_features` field. The builder supplies
91
- * `field` as an explicit argument.
92
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-rank-feature-query.html
93
- */
94
- export type RankFeatureQueryOptions = Omit<QueryDslRankFeatureQuery, 'field'>;
95
- /**
96
- * Options for the `sparse_vector` query — scores documents using token-weight
97
- * vectors produced by a learned sparse model (e.g. ELSER). The builder supplies
98
- * `field` as an explicit argument.
99
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-sparse-vector-query.html
100
- */
101
- export type SparseVectorQueryOptions = Omit<QueryDslSparseVectorQuery, 'field'>;
102
- type TermableFields<M extends Record<string, FieldTypeString>> = KeywordFields<M> | NumericFields<M> | DateFields<M> | BooleanFields<M> | IpFields<M>;
103
- type RangeableFields<M extends Record<string, FieldTypeString>> = NumericFields<M> | DateFields<M> | KeywordFields<M> | IpFields<M>;
104
- type FuzzyableFields<M extends Record<string, FieldTypeString>> = TextFields<M> | KeywordFields<M>;
105
- type Val<M extends Record<string, FieldTypeString>, K extends keyof M> = FieldValueType<M[K]>;
106
- export type QueryState<M extends Record<string, FieldTypeString>> = {
107
- _includeQuery?: boolean;
108
- query?: QueryDslQueryContainer;
109
- knn?: {
110
- field: string;
111
- query_vector?: number[];
112
- query_vector_builder?: QueryVectorBuilder;
113
- k?: number;
114
- num_candidates?: number;
115
- filter?: QueryDslQueryContainer | QueryDslQueryContainer[];
116
- boost?: number;
117
- similarity?: number;
118
- inner_hits?: SearchInnerHits;
119
- rescore_vector?: RescoreVector;
120
- visit_percentage?: number;
121
- };
122
- aggs?: AggregationState;
123
- suggest?: SuggesterState;
124
- from?: number;
125
- size?: number;
126
- sort?: Array<Record<string, 'asc' | 'desc'>>;
127
- _source?: Array<string & keyof M>;
128
- timeout?: string;
129
- track_scores?: boolean;
130
- explain?: boolean;
131
- min_score?: number;
132
- version?: boolean;
133
- seq_no_primary_term?: boolean;
134
- track_total_hits?: boolean | number;
135
- highlight?: {
136
- fields: Record<string, HighlightOptions>;
137
- pre_tags?: string[];
138
- post_tags?: string[];
139
- };
140
- search_after?: SortResults;
141
- preference?: string;
142
- collapse?: {
143
- field: string;
144
- inner_hits?: SearchInnerHits;
145
- max_concurrent_group_searches?: number;
146
- };
147
- rescore?: {
148
- window_size: number;
149
- query: {
150
- rescore_query: QueryDslQueryContainer;
151
- query_weight?: number;
152
- rescore_query_weight?: number;
153
- score_mode?: 'total' | 'multiply' | 'avg' | 'max' | 'min';
154
- };
155
- };
156
- stored_fields?: Array<string>;
157
- terminate_after?: number;
158
- pit?: {
159
- id: string;
160
- keep_alive: string;
161
- };
162
- indices_boost?: Array<Record<string, number>>;
163
- runtime_mappings?: Record<string, MappingRuntimeField>;
164
- docvalue_fields?: Array<QueryDslFieldAndFormat | string>;
165
- fields?: Array<QueryDslFieldAndFormat | string>;
166
- post_filter?: QueryDslQueryContainer;
167
- script_fields?: Record<string, ScriptField>;
168
- _source_includes?: string[];
169
- _source_excludes?: string[];
170
- };
171
- export type ClauseBuilder<M extends Record<string, FieldTypeString>> = {
172
- matchAll: () => any;
173
- matchNone: () => any;
174
- match: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchOptions) => any;
175
- multiMatch: <K extends TextFields<M> & string>(fields: K[], value: string, options?: MultiMatchOptions) => any;
176
- matchPhrase: <K extends TextFields<M> & string>(field: K, value: string) => any;
177
- matchPhrasePrefix: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchPhrasePrefixOptions) => any;
178
- term: <K extends TermableFields<M> & string>(field: K, value: Val<M, K>) => any;
179
- terms: <K extends TermableFields<M> & string>(field: K, value: Array<Val<M, K>>) => any;
180
- range: <K extends RangeableFields<M> & string>(field: K, conditions: {
181
- gte?: Val<M, K>;
182
- lte?: Val<M, K>;
183
- gt?: Val<M, K>;
184
- lt?: Val<M, K>;
185
- }) => any;
186
- exists: <K extends string & keyof M>(field: K) => any;
187
- prefix: <K extends KeywordFields<M> & string>(field: K, value: string) => any;
188
- wildcard: <K extends KeywordFields<M> & string>(field: K, value: string) => any;
189
- fuzzy: <K extends FuzzyableFields<M> & string>(field: K, value: string, options?: FuzzyOptions) => any;
190
- ids: (values: string[]) => any;
191
- knn: <K extends DenseVectorFields<M> & string>(field: K, queryVector: number[], options: KnnOptions) => any;
192
- regexp: <K extends KeywordFields<M> & string>(field: K, value: string, options?: RegexpOptions) => any;
193
- geoDistance: <K extends GeoPointFields<M> & string>(field: K, center: {
194
- lat: number;
195
- lon: number;
196
- }, options: GeoDistanceOptions) => any;
197
- geoBoundingBox: <K extends GeoPointFields<M> & string>(field: K, options: GeoBoundingBoxOptions) => any;
198
- geoPolygon: <K extends GeoPointFields<M> & string>(field: K, options: GeoPolygonOptions) => any;
199
- geoShape: <K extends GeoShapeFields<M> & string>(field: K, shape: Record<string, unknown>, options?: GeoShapeQueryOptions) => any;
200
- /** Distance-feature query — boost relevance by proximity of a date or geo_point field to an origin. */
201
- distanceFeature: <K extends (DateFields<M> | GeoPointFields<M>) & string>(field: K, options: DistanceFeatureOptions) => any;
202
- /** Rank-feature query — boost relevance using a numeric feature in a `rank_feature`/`rank_features` field. */
203
- rankFeature: <K extends RankFeatureFields<M> & string>(field: K, options?: RankFeatureQueryOptions) => any;
204
- /** Sparse-vector query — score with token-weight pairs from a learned sparse model (e.g. ELSER). */
205
- sparseVector: <K extends SparseVectorFields<M> & string>(field: K, options: SparseVectorQueryOptions) => any;
206
- /**
207
- * Script query — executes a Painless script to filter documents.
208
- *
209
- * **Security:** the `source` string is executed as Painless on the Elasticsearch cluster.
210
- * Never derive `source` from untrusted user input — use `params` to pass runtime values safely instead.
211
- */
212
- script: (options: ScriptQueryOptions) => any;
213
- combinedFields: <K extends TextFields<M> & string>(fields: K[], query: string, options?: CombinedFieldsOptions) => any;
214
- /**
215
- * Query string query — parses a Lucene query syntax string.
216
- *
217
- * **Security:** if `query` is derived from untrusted user input, field-level access control and
218
- * syntax errors may expose internal field names or cause unexpected query behaviour.
219
- * Prefer `simpleQueryString` for user-facing search boxes — it silently ignores invalid syntax.
220
- */
221
- queryString: (query: string, options?: QueryStringOptions) => any;
222
- /**
223
- * Simple query string query — a safer Lucene subset for user-facing search.
224
- *
225
- * **Security:** invalid syntax is silently ignored rather than returning an error.
226
- * Still constrain which fields are searched via `options.fields` to avoid exposing sensitive fields.
227
- */
228
- simpleQueryString: (query: string, options?: SimpleQueryStringOptions) => any;
229
- moreLikeThis: (fields: Array<(TextFields<M> | KeywordFields<M>) & string>, like: string | Array<string | {
230
- _index: string;
231
- _id: string;
232
- }>, options?: MoreLikeThisOptions) => any;
233
- matchBoolPrefix: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchBoolPrefixOptions) => any;
234
- /**
235
- * Conditionally execute a clause. Returns the clause DSL when `condition` is truthy, `undefined` otherwise.
236
- * The parent bool method (`must`, `filter`, etc.) treats `undefined` as a no-op — no empty arrays are emitted.
237
- *
238
- * `condition` is resolved as follows: functions are called, booleans are used as-is,
239
- * and any other value is checked for nullishness (`!= null`) — so `0` and `''` are truthy.
240
- *
241
- * **Note:** TypeScript cannot narrow closure variables inside callbacks, so values typed as `T | undefined`
242
- * still require a non-null assertion (`!`) inside the callback even when `condition` guarantees they are defined:
243
- * ```ts
244
- * .must(q => q.when(searchTerm, q => q.match('name', searchTerm!)))
245
- * ```
246
- */
247
- /**
248
- * Nested query inside a clause context — use inside `must`, `filter`, `should`, or `mustNot`.
249
- *
250
- * ```ts
251
- * queryBuilder(m).bool().filter(q => q.nested('variants', qn => qn.term('color', 'red')))
252
- * ```
253
- */
254
- nested: <K extends NestedPathFields<M> & string>(path: K, fn: (q: ClauseBuilder<SubFieldsOf<M, K>>) => any, options?: NestedOptions) => any;
255
- /** Function score query — wraps an inner query and applies scoring functions (field_value_factor, decay, script_score, etc.). */
256
- functionScore: (query: (q: ClauseBuilder<M>) => any, options?: FunctionScoreOptions) => any;
257
- /** Has-child query — returns parent documents whose child documents match the inner query. */
258
- hasChild: (type: string, query: (q: ClauseBuilder<M>) => any, options?: HasChildOptions) => any;
259
- /** Has-parent query — returns child documents whose parent document matches the inner query. */
260
- hasParent: (type: string, query: (q: ClauseBuilder<M>) => any, options?: HasParentOptions) => any;
261
- /** Parent-ID query — returns child documents joined to a specific parent document. */
262
- parentId: (type: string, id: string, options?: ParentIdOptions) => any;
263
- /** Intervals query — returns documents based on the order and proximity of matching terms. */
264
- intervals: <K extends TextFields<M> & string>(field: K, options: IntervalsOptions) => any;
265
- /** Span term — matches a single term; the building block for other span queries. */
266
- spanTerm: <K extends TextFields<M> & string>(field: K, value: string) => any;
267
- /** Span near — matches spans that are near one another. */
268
- spanNear: (clauses: ReadonlyArray<SpanQuery>, options?: SpanNearOptions) => any;
269
- /** Span or — matches the union of its span clauses. */
270
- spanOr: (clauses: ReadonlyArray<SpanQuery>) => any;
271
- /** Span not — removes matches that overlap with another span query. */
272
- spanNot: (include: SpanQuery, exclude: SpanQuery, options?: SpanNotOptions) => any;
273
- /** Span first — matches spans near the beginning of a field. */
274
- spanFirst: (match: SpanQuery, end: number) => any;
275
- /** Span containing — returns matches from `big` that contain a match from `little`. */
276
- spanContaining: (big: SpanQuery, little: SpanQuery) => any;
277
- /** Span within — returns matches from `little` that fall within `big`. */
278
- spanWithin: (big: SpanQuery, little: SpanQuery) => any;
279
- /** Span multi-term — wraps a multi-term query (wildcard, fuzzy, prefix, range, or regexp) as a span query. */
280
- spanMultiTerm: (query: Record<string, unknown>) => any;
281
- /** Span field masking — allows queries on different fields to be combined. */
282
- spanFieldMasking: (field: string, query: SpanQuery) => any;
283
- when: (condition: unknown, thenFn: (q: ClauseBuilder<M>) => any) => any | undefined;
284
- };
285
- export type QueryBuilder<M extends Record<string, FieldTypeString>> = {
286
- bool: () => QueryBuilder<M>;
287
- must: (fn: (q: ClauseBuilder<M>) => any) => QueryBuilder<M>;
288
- mustNot: (fn: (q: ClauseBuilder<M>) => any) => QueryBuilder<M>;
289
- should: (fn: (q: ClauseBuilder<M>) => any) => QueryBuilder<M>;
290
- filter: (fn: (q: ClauseBuilder<M>) => any) => QueryBuilder<M>;
291
- minimumShouldMatch: (n: number) => QueryBuilder<M>;
292
- matchAll: () => QueryBuilder<M>;
293
- matchNone: () => QueryBuilder<M>;
294
- match: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchOptions) => QueryBuilder<M>;
295
- multiMatch: <K extends TextFields<M> & string>(fields: K[], value: string, options?: MultiMatchOptions) => QueryBuilder<M>;
296
- matchPhrase: <K extends TextFields<M> & string>(field: K, value: string) => QueryBuilder<M>;
297
- matchPhrasePrefix: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchPhrasePrefixOptions) => QueryBuilder<M>;
298
- term: <K extends TermableFields<M> & string>(field: K, value: Val<M, K>) => QueryBuilder<M>;
299
- terms: <K extends TermableFields<M> & string>(field: K, values: Array<Val<M, K>>) => QueryBuilder<M>;
300
- range: <K extends RangeableFields<M> & string>(field: K, conditions: {
301
- gte?: Val<M, K>;
302
- lte?: Val<M, K>;
303
- gt?: Val<M, K>;
304
- lt?: Val<M, K>;
305
- }) => QueryBuilder<M>;
306
- exists: (field: string & keyof M) => QueryBuilder<M>;
307
- prefix: <K extends KeywordFields<M> & string>(field: K, value: string) => QueryBuilder<M>;
308
- wildcard: <K extends KeywordFields<M> & string>(field: K, value: string) => QueryBuilder<M>;
309
- fuzzy: <K extends FuzzyableFields<M> & string>(field: K, value: string, options?: FuzzyOptions) => QueryBuilder<M>;
310
- ids: (values: string[]) => QueryBuilder<M>;
311
- /**
312
- * Nested query — for querying fields mapped as `nested()`.
313
- *
314
- * Each nested object is stored as a separate hidden document. The `.nested()` wrapper
315
- * is required for Elasticsearch to search those hidden documents correctly. Without it,
316
- * queries against nested sub-fields will return no results.
317
- *
318
- * The inner callback receives a typed `ClauseBuilder` constrained to the sub-fields of
319
- * `path`, so field names and value types are checked at compile time.
320
- *
321
- * For `object()` fields, no wrapper is needed — query sub-fields directly with dot-notation
322
- * (e.g. `.term('address.city', 'NYC')`).
323
- */
324
- nested: <K extends NestedPathFields<M> & string>(path: K, fn: (q: ClauseBuilder<SubFieldsOf<M, K>>) => any, options?: NestedOptions) => QueryBuilder<M>;
325
- knn: <K extends DenseVectorFields<M> & string>(field: K, queryVector: number[], options: KnnOptions) => QueryBuilder<M>;
326
- /**
327
- * Script query — executes a Painless script to filter documents.
328
- *
329
- * **Security:** the `source` string is executed as Painless on the Elasticsearch cluster.
330
- * Never derive `source` from untrusted user input — use `params` to pass runtime values safely instead.
331
- */
332
- script: (options: ScriptQueryOptions) => QueryBuilder<M>;
333
- /**
334
- * Script score query — wraps an inner query and rescores results using a Painless script.
335
- *
336
- * **Security:** the `source` string is executed as Painless on the Elasticsearch cluster.
337
- * Never derive `source` from untrusted user input — use `params` to pass runtime values safely instead.
338
- */
339
- scriptScore: (query: (q: ClauseBuilder<M>) => any, script: ScriptOptions, options?: ScriptScoreOptions) => QueryBuilder<M>;
340
- percolate: (options: PercolateOptions) => QueryBuilder<M>;
341
- /** Function score query — wraps an inner query and applies scoring functions (field_value_factor, decay, script_score, etc.). */
342
- functionScore: (query: (q: ClauseBuilder<M>) => any, options?: FunctionScoreOptions) => QueryBuilder<M>;
343
- /** Has-child query — returns parent documents whose child documents match the inner query. */
344
- hasChild: (type: string, query: (q: ClauseBuilder<M>) => any, options?: HasChildOptions) => QueryBuilder<M>;
345
- /** Has-parent query — returns child documents whose parent document matches the inner query. */
346
- hasParent: (type: string, query: (q: ClauseBuilder<M>) => any, options?: HasParentOptions) => QueryBuilder<M>;
347
- /** Parent-ID query — returns child documents joined to a specific parent document. */
348
- parentId: (type: string, id: string, options?: ParentIdOptions) => QueryBuilder<M>;
349
- /** Intervals query — returns documents based on the order and proximity of matching terms. */
350
- intervals: <K extends TextFields<M> & string>(field: K, options: IntervalsOptions) => QueryBuilder<M>;
351
- /** Span term — matches a single term; the building block for other span queries. */
352
- spanTerm: <K extends TextFields<M> & string>(field: K, value: string) => QueryBuilder<M>;
353
- /** Span near — matches spans that are near one another. */
354
- spanNear: (clauses: ReadonlyArray<SpanQuery>, options?: SpanNearOptions) => QueryBuilder<M>;
355
- /** Span or — matches the union of its span clauses. */
356
- spanOr: (clauses: ReadonlyArray<SpanQuery>) => QueryBuilder<M>;
357
- /** Span not — removes matches that overlap with another span query. */
358
- spanNot: (include: SpanQuery, exclude: SpanQuery, options?: SpanNotOptions) => QueryBuilder<M>;
359
- /** Span first — matches spans near the beginning of a field. */
360
- spanFirst: (match: SpanQuery, end: number) => QueryBuilder<M>;
361
- /** Span containing — returns matches from `big` that contain a match from `little`. */
362
- spanContaining: (big: SpanQuery, little: SpanQuery) => QueryBuilder<M>;
363
- /** Span within — returns matches from `little` that fall within `big`. */
364
- spanWithin: (big: SpanQuery, little: SpanQuery) => QueryBuilder<M>;
365
- /** Span multi-term — wraps a multi-term query (wildcard, fuzzy, prefix, range, or regexp) as a span query. */
366
- spanMultiTerm: (query: Record<string, unknown>) => QueryBuilder<M>;
367
- /** Span field masking — allows queries on different fields to be combined. */
368
- spanFieldMasking: (field: string, query: SpanQuery) => QueryBuilder<M>;
369
- /**
370
- * Conditionally apply a branch to the query chain. Returns the result of `thenFn` when `condition` is truthy,
371
- * otherwise returns the current builder unchanged — the chain is never broken.
372
- *
373
- * `condition` is resolved as follows: functions are called, booleans are used as-is,
374
- * and any other value is checked for nullishness (`!= null`) — so `0` and `''` are truthy.
375
- *
376
- * **Note:** TypeScript cannot narrow closure variables inside callbacks, so values typed as `T | undefined`
377
- * still require a non-null assertion (`!`) inside the callback even when `condition` guarantees they are defined:
378
- * ```ts
379
- * queryBuilder(m).bool()
380
- * .when(searchTerm, q => q.must(q2 => q2.match('name', searchTerm!)))
381
- * .when(minPrice, q => q.filter(q2 => q2.range('price', { gte: minPrice! })))
382
- * .build()
383
- * ```
384
- */
385
- when: (condition: unknown, thenFn: (q: QueryBuilder<M>) => QueryBuilder<M>) => QueryBuilder<M>;
386
- aggs: (fn: (agg: RootAggregationBuilder<M>) => RootAggregationBuilder<M>) => QueryBuilder<M>;
387
- suggest: (fn: (s: SuggesterBuilder<M>) => SuggesterBuilder<M>) => QueryBuilder<M>;
388
- sort: (field: (SortableFields<M> & string) | '_score' | '_doc', direction: 'asc' | 'desc') => QueryBuilder<M>;
389
- from: (from: number) => QueryBuilder<M>;
390
- size: (size: number) => QueryBuilder<M>;
391
- _source: (fields: Array<string & keyof M>) => QueryBuilder<M>;
392
- /** Include-only subset for `_source` filtering (paths may use wildcards). */
393
- sourceIncludes: (paths: string[]) => QueryBuilder<M>;
394
- /** Exclude subset for `_source` filtering (paths may use wildcards). */
395
- sourceExcludes: (paths: string[]) => QueryBuilder<M>;
396
- /** Runtime mappings — define script-computed fields available to the query, sorts, and aggs. */
397
- runtimeMappings: (mappings: Record<string, MappingRuntimeField>) => QueryBuilder<M>;
398
- /** Retrieve doc-values for the specified fields in the hit response. */
399
- docValueFields: (fields: Array<QueryDslFieldAndFormat | string>) => QueryBuilder<M>;
400
- /** Retrieve values via the fields API (supports runtime + standard fields with format). */
401
- fields: (fields: Array<QueryDslFieldAndFormat | string>) => QueryBuilder<M>;
402
- /** Post-filter — applied after aggregations, so aggs see the unfiltered result set. */
403
- postFilter: (fn: (q: ClauseBuilder<M>) => any) => QueryBuilder<M>;
404
- /** Script fields — compute per-hit values via Painless scripts. */
405
- scriptFields: (fields: Record<string, ScriptField>) => QueryBuilder<M>;
406
- timeout: (timeout: string) => QueryBuilder<M>;
407
- trackScores: (track: boolean) => QueryBuilder<M>;
408
- explain: (explain: boolean) => QueryBuilder<M>;
409
- minScore: (score: number) => QueryBuilder<M>;
410
- version: (version: boolean) => QueryBuilder<M>;
411
- seqNoPrimaryTerm: (enabled: boolean) => QueryBuilder<M>;
412
- trackTotalHits: (value: boolean | number) => QueryBuilder<M>;
413
- highlight: (fields: Array<HighlightableFields<M> & string>, options?: HighlightOptions) => QueryBuilder<M>;
414
- geoDistance: <K extends GeoPointFields<M> & string>(field: K, center: {
415
- lat: number;
416
- lon: number;
417
- }, options: GeoDistanceOptions) => QueryBuilder<M>;
418
- geoBoundingBox: <K extends GeoPointFields<M> & string>(field: K, options: GeoBoundingBoxOptions) => QueryBuilder<M>;
419
- geoPolygon: <K extends GeoPointFields<M> & string>(field: K, options: GeoPolygonOptions) => QueryBuilder<M>;
420
- geoShape: <K extends GeoShapeFields<M> & string>(field: K, shape: Record<string, unknown>, options?: GeoShapeQueryOptions) => QueryBuilder<M>;
421
- /** Distance-feature query — boost relevance by proximity of a date or geo_point field to an origin. */
422
- distanceFeature: <K extends (DateFields<M> | GeoPointFields<M>) & string>(field: K, options: DistanceFeatureOptions) => QueryBuilder<M>;
423
- /** Rank-feature query — boost relevance using a numeric feature in a `rank_feature`/`rank_features` field. */
424
- rankFeature: <K extends RankFeatureFields<M> & string>(field: K, options?: RankFeatureQueryOptions) => QueryBuilder<M>;
425
- /** Sparse-vector query — score with token-weight pairs from a learned sparse model (e.g. ELSER). */
426
- sparseVector: <K extends SparseVectorFields<M> & string>(field: K, options: SparseVectorQueryOptions) => QueryBuilder<M>;
427
- regexp: <K extends KeywordFields<M> & string>(field: K, value: string, options?: RegexpOptions) => QueryBuilder<M>;
428
- constantScore: (fn: (q: ClauseBuilder<M>) => any, options?: ConstantScoreOptions) => QueryBuilder<M>;
429
- combinedFields: <K extends TextFields<M> & string>(fields: K[], query: string, options?: CombinedFieldsOptions) => QueryBuilder<M>;
430
- /**
431
- * Query string query — parses a Lucene query syntax string.
432
- *
433
- * **Security:** if `query` is derived from untrusted user input, field-level access control and
434
- * syntax errors may expose internal field names or cause unexpected query behaviour.
435
- * Prefer `simpleQueryString` for user-facing search boxes — it silently ignores invalid syntax.
436
- */
437
- queryString: (query: string, options?: QueryStringOptions) => QueryBuilder<M>;
438
- /**
439
- * Simple query string query — a safer Lucene subset for user-facing search.
440
- *
441
- * **Security:** invalid syntax is silently ignored rather than returning an error.
442
- * Still constrain which fields are searched via `options.fields` to avoid exposing sensitive fields.
443
- */
444
- simpleQueryString: (query: string, options?: SimpleQueryStringOptions) => QueryBuilder<M>;
445
- moreLikeThis: (fields: Array<(TextFields<M> | KeywordFields<M>) & string>, like: string | Array<string | {
446
- _index: string;
447
- _id: string;
448
- }>, options?: MoreLikeThisOptions) => QueryBuilder<M>;
449
- matchBoolPrefix: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchBoolPrefixOptions) => QueryBuilder<M>;
450
- searchAfter: (values: SortResults) => QueryBuilder<M>;
451
- preference: (value: string) => QueryBuilder<M>;
452
- collapse: (field: CollapsibleFields<M> & string, options?: {
453
- inner_hits?: SearchInnerHits;
454
- max_concurrent_group_searches?: number;
455
- }) => QueryBuilder<M>;
456
- rescore: (queryFn: (q: ClauseBuilder<M>) => any, windowSize: number, options?: {
457
- query_weight?: number;
458
- rescore_query_weight?: number;
459
- score_mode?: 'total' | 'multiply' | 'avg' | 'max' | 'min';
460
- }) => QueryBuilder<M>;
461
- storedFields: (fields: Array<string>) => QueryBuilder<M>;
462
- terminateAfter: (count: number) => QueryBuilder<M>;
463
- pit: (id: string, keepAlive: string) => QueryBuilder<M>;
464
- indicesBoost: (boosts: Array<Record<string, number>>) => QueryBuilder<M>;
465
- build: () => QueryState<M>;
466
- };
467
- export {};
468
- //# sourceMappingURL=query.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"query.types.d.ts","sourceRoot":"","sources":["../src/query.types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Type definitions for Query Builder
3
- * Field constraints are derived from the MappingsSchema field-type map M.
4
- * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html
5
- */
6
- export {};
7
- /* eslint-enable @typescript-eslint/no-explicit-any */
@@ -1,117 +0,0 @@
1
- /**
2
- * Index settings presets for common Elasticsearch scenarios.
3
- *
4
- * These are standalone functions that return `IndicesIndexSettings` objects.
5
- * Use them with `indexBuilder().settings()` for index creation, or pass directly
6
- * to the ES `_settings` API for runtime changes.
7
- *
8
- * Typical lifecycle:
9
- * 1. Create index: `indexBuilder().mappings(schema).settings(productionSearchSettings()).build()`
10
- * 2. Before bulk ingest: apply `fastIngestSettings()` via ES `_settings` API
11
- * 3. Perform bulk ingest
12
- * 4. After bulk ingest: apply `productionSearchSettings()` via ES `_settings` API
13
- * 5. Refresh: `POST /index/_refresh`
14
- */
15
- import type { IndicesIndexSettings, IndicesIndexSegmentSort, IndicesSegmentSortMode, IndicesSegmentSortMissing } from '@elastic/elasticsearch/lib/api/types';
16
- /**
17
- * Balanced production settings for search workloads.
18
- *
19
- * Defaults:
20
- * - `number_of_replicas: 1` — one replica for redundancy
21
- * - `refresh_interval: '5s'` — near-real-time search without excessive refresh overhead
22
- *
23
- * @param overrides - Override or extend any setting. Applied after defaults.
24
- *
25
- * @example
26
- * const index = indexBuilder()
27
- * .mappings(schema)
28
- * .settings(productionSearchSettings())
29
- * .build();
30
- *
31
- * @example
32
- * // With best_compression for disk savings
33
- * productionSearchSettings({ codec: 'best_compression' })
34
- *
35
- * @example
36
- * // Restore production settings after bulk ingest
37
- * await client.indices.putSettings({
38
- * index: 'my-index',
39
- * body: productionSearchSettings(),
40
- * });
41
- * await client.indices.refresh({ index: 'my-index' });
42
- */
43
- export declare const productionSearchSettings: (overrides?: Partial<IndicesIndexSettings>) => IndicesIndexSettings;
44
- /**
45
- * Per-field sort configuration for `indexSortSettings()`.
46
- * Either a bare direction, or a full spec with `mode`/`missing`.
47
- */
48
- export type IndexSortFieldSpec = 'asc' | 'desc' | {
49
- order: 'asc' | 'desc';
50
- mode?: IndicesSegmentSortMode;
51
- missing?: IndicesSegmentSortMissing;
52
- };
53
- /**
54
- * Generate index sort settings from a field→direction (or full spec) map.
55
- *
56
- * Index-time sorting improves compression (similar values stored together) and
57
- * enables early termination when query sort matches index sort. Combine with
58
- * `trackTotalHits(false)` for fastest sorted queries.
59
- *
60
- * The returned object lives at the top level of `IndicesIndexSettings` — spread it
61
- * directly into a settings object (do NOT wrap it under an `index` key, the
62
- * `@elastic/elasticsearch` client normalises that form).
63
- *
64
- * Pass a bare `'asc' | 'desc'` for simple cases; pass `{ order, mode?, missing? }`
65
- * when you need `mode` (`min`/`max`/`median`/`avg`) or `missing` (`_first`/`_last`).
66
- *
67
- * @param fields - Map of field names to sort direction or full spec.
68
- * @returns A `{ sort: IndicesIndexSegmentSort }` fragment to spread into your settings.
69
- *
70
- * @example
71
- * const index = indexBuilder()
72
- * .mappings(schema)
73
- * .settings({
74
- * ...productionSearchSettings(),
75
- * ...indexSortSettings({ timestamp: 'desc', status: 'asc' }),
76
- * })
77
- * .build();
78
- *
79
- * @example
80
- * indexSortSettings({
81
- * price: { order: 'asc', mode: 'min', missing: '_last' },
82
- * created_at: 'desc'
83
- * })
84
- */
85
- export declare const indexSortSettings: (fields: Record<string, IndexSortFieldSpec>) => {
86
- sort: IndicesIndexSegmentSort;
87
- };
88
- /**
89
- * Settings optimized for maximum indexing speed during bulk operations.
90
- *
91
- * Apply via the ES `_settings` API before starting bulk ingest, then revert
92
- * with `productionSearchSettings()` afterward. Do not use these as permanent
93
- * index settings — they trade durability and search availability for speed.
94
- *
95
- * Defaults:
96
- * - `refresh_interval: '-1'` — disables refresh (can improve reindex time by 70%+)
97
- * - `number_of_replicas: 0` — no replication overhead during ingest
98
- * - `translog.durability: 'async'` — async translog for faster writes
99
- * - `translog.sync_interval: '30s'` — less frequent translog sync
100
- *
101
- * @param overrides - Override or extend any setting. Applied after defaults.
102
- * `translog` overrides are deep-merged so individual translog keys can be
103
- * changed without clobbering the other defaults.
104
- *
105
- * @example
106
- * // Apply before bulk ingest via ES client
107
- * await client.indices.putSettings({
108
- * index: 'my-index',
109
- * body: fastIngestSettings(),
110
- * });
111
- *
112
- * @example
113
- * // With custom overrides
114
- * fastIngestSettings({ number_of_shards: 3 })
115
- */
116
- export declare const fastIngestSettings: (overrides?: Partial<IndicesIndexSettings>) => IndicesIndexSettings;
117
- //# sourceMappingURL=settings.presets.d.ts.map