elasticlink 0.3.0-beta → 0.4.0-beta

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 (109) hide show
  1. package/README.md +61 -14
  2. package/dist/__tests__/aggregation-builder.test.d.ts +2 -0
  3. package/dist/__tests__/aggregation-builder.test.d.ts.map +1 -0
  4. package/dist/__tests__/aggregation-builder.test.js +622 -0
  5. package/dist/__tests__/bulk.test.d.ts +2 -0
  6. package/dist/__tests__/bulk.test.d.ts.map +1 -0
  7. package/dist/__tests__/bulk.test.js +679 -0
  8. package/dist/__tests__/examples.test.d.ts +2 -0
  9. package/dist/__tests__/examples.test.d.ts.map +1 -0
  10. package/dist/__tests__/examples.test.js +2123 -0
  11. package/dist/__tests__/fixtures/finance.d.ts +58 -0
  12. package/dist/__tests__/fixtures/finance.d.ts.map +1 -0
  13. package/dist/__tests__/fixtures/finance.js +73 -0
  14. package/dist/__tests__/fixtures/legal.d.ts +14 -0
  15. package/dist/__tests__/fixtures/legal.d.ts.map +1 -0
  16. package/dist/__tests__/fixtures/legal.js +27 -0
  17. package/dist/__tests__/fixtures/real-estate.d.ts +31 -0
  18. package/dist/__tests__/fixtures/real-estate.d.ts.map +1 -0
  19. package/dist/__tests__/fixtures/real-estate.js +39 -0
  20. package/dist/__tests__/index-management.test.d.ts +2 -0
  21. package/dist/__tests__/index-management.test.d.ts.map +1 -0
  22. package/dist/__tests__/index-management.test.js +1699 -0
  23. package/dist/__tests__/integration/aggregation.integration.test.d.ts +2 -0
  24. package/dist/__tests__/integration/aggregation.integration.test.d.ts.map +1 -0
  25. package/dist/__tests__/integration/aggregation.integration.test.js +188 -0
  26. package/dist/__tests__/integration/bulk.integration.test.d.ts +2 -0
  27. package/dist/__tests__/integration/bulk.integration.test.d.ts.map +1 -0
  28. package/dist/__tests__/integration/bulk.integration.test.js +90 -0
  29. package/dist/__tests__/integration/fixtures/finance.d.ts +37 -0
  30. package/dist/__tests__/integration/fixtures/finance.d.ts.map +1 -0
  31. package/dist/__tests__/integration/fixtures/finance.js +58 -0
  32. package/dist/__tests__/integration/fixtures/legal.d.ts +38 -0
  33. package/dist/__tests__/integration/fixtures/legal.d.ts.map +1 -0
  34. package/dist/__tests__/integration/fixtures/legal.js +65 -0
  35. package/dist/__tests__/integration/fixtures/real-estate.d.ts +17 -0
  36. package/dist/__tests__/integration/fixtures/real-estate.d.ts.map +1 -0
  37. package/dist/__tests__/integration/fixtures/real-estate.js +28 -0
  38. package/dist/__tests__/integration/helpers.d.ts +15 -0
  39. package/dist/__tests__/integration/helpers.d.ts.map +1 -0
  40. package/dist/__tests__/integration/helpers.js +21 -0
  41. package/dist/__tests__/integration/index-management.integration.test.d.ts +2 -0
  42. package/dist/__tests__/integration/index-management.integration.test.d.ts.map +1 -0
  43. package/dist/__tests__/integration/index-management.integration.test.js +67 -0
  44. package/dist/__tests__/integration/multi-search.integration.test.d.ts +2 -0
  45. package/dist/__tests__/integration/multi-search.integration.test.d.ts.map +1 -0
  46. package/dist/__tests__/integration/multi-search.integration.test.js +49 -0
  47. package/dist/__tests__/integration/query.integration.test.d.ts +2 -0
  48. package/dist/__tests__/integration/query.integration.test.d.ts.map +1 -0
  49. package/dist/__tests__/integration/query.integration.test.js +101 -0
  50. package/dist/__tests__/integration/suggester.integration.test.d.ts +2 -0
  51. package/dist/__tests__/integration/suggester.integration.test.d.ts.map +1 -0
  52. package/dist/__tests__/integration/suggester.integration.test.js +42 -0
  53. package/dist/__tests__/multi-search.test.d.ts +2 -0
  54. package/dist/__tests__/multi-search.test.d.ts.map +1 -0
  55. package/dist/__tests__/multi-search.test.js +325 -0
  56. package/dist/__tests__/query-builder-extensions.test.d.ts +2 -0
  57. package/dist/__tests__/query-builder-extensions.test.d.ts.map +1 -0
  58. package/dist/__tests__/query-builder-extensions.test.js +436 -0
  59. package/dist/__tests__/query-builder.test.d.ts +2 -0
  60. package/dist/__tests__/query-builder.test.d.ts.map +1 -0
  61. package/dist/__tests__/query-builder.test.js +5482 -0
  62. package/dist/__tests__/settings-presets.test.d.ts +2 -0
  63. package/dist/__tests__/settings-presets.test.d.ts.map +1 -0
  64. package/dist/__tests__/settings-presets.test.js +183 -0
  65. package/dist/__tests__/suggester.test.d.ts +2 -0
  66. package/dist/__tests__/suggester.test.d.ts.map +1 -0
  67. package/dist/__tests__/suggester.test.js +1006 -0
  68. package/dist/aggregation.builder.d.ts.map +1 -1
  69. package/dist/aggregation.builder.js +101 -94
  70. package/dist/aggregation.types.d.ts +10 -9
  71. package/dist/aggregation.types.d.ts.map +1 -1
  72. package/dist/bulk.builder.d.ts +11 -1
  73. package/dist/bulk.builder.d.ts.map +1 -1
  74. package/dist/bulk.builder.js +10 -11
  75. package/dist/bulk.types.d.ts.map +1 -1
  76. package/dist/field.helpers.d.ts +59 -4
  77. package/dist/field.helpers.d.ts.map +1 -1
  78. package/dist/field.helpers.js +87 -4
  79. package/dist/field.types.d.ts +78 -1
  80. package/dist/field.types.d.ts.map +1 -1
  81. package/dist/index-management.builder.d.ts +15 -3
  82. package/dist/index-management.builder.d.ts.map +1 -1
  83. package/dist/index-management.builder.js +32 -8
  84. package/dist/index-management.types.d.ts +27 -3
  85. package/dist/index-management.types.d.ts.map +1 -1
  86. package/dist/index.d.ts +3 -2
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +3 -1
  89. package/dist/mapping.builder.d.ts +16 -3
  90. package/dist/mapping.builder.d.ts.map +1 -1
  91. package/dist/mapping.builder.js +22 -7
  92. package/dist/mapping.types.d.ts +29 -6
  93. package/dist/mapping.types.d.ts.map +1 -1
  94. package/dist/multi-search.builder.d.ts +1 -1
  95. package/dist/multi-search.builder.d.ts.map +1 -1
  96. package/dist/multi-search.builder.js +5 -3
  97. package/dist/query.builder.d.ts +0 -4
  98. package/dist/query.builder.d.ts.map +1 -1
  99. package/dist/query.builder.js +104 -183
  100. package/dist/query.types.d.ts +59 -5
  101. package/dist/query.types.d.ts.map +1 -1
  102. package/dist/settings.presets.d.ts +98 -0
  103. package/dist/settings.presets.d.ts.map +1 -0
  104. package/dist/settings.presets.js +115 -0
  105. package/dist/suggester.builder.d.ts.map +1 -1
  106. package/dist/suggester.builder.js +1 -0
  107. package/dist/suggester.types.d.ts.map +1 -1
  108. package/dist/vector.types.d.ts.map +1 -1
  109. package/package.json +6 -3
@@ -3,9 +3,9 @@
3
3
  * Field constraints are derived from the MappingsSchema field-type map M.
4
4
  * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html
5
5
  */
6
- import type { QueryDslMatchQuery, QueryDslMultiMatchQuery, QueryDslFuzzyQuery, QueryDslRegexpQuery, QueryDslConstantScoreQuery, QueryDslScriptQuery, QueryDslScriptScoreQuery, QueryDslPercolateQuery, QueryDslMatchPhrasePrefixQuery, SearchHighlightBase, Script } from '@elastic/elasticsearch/lib/api/types';
6
+ import type { QueryDslMatchQuery, QueryDslMultiMatchQuery, QueryDslFuzzyQuery, QueryDslRegexpQuery, QueryDslConstantScoreQuery, QueryDslScriptQuery, QueryDslScriptScoreQuery, QueryDslPercolateQuery, QueryDslMatchPhrasePrefixQuery, QueryDslCombinedFieldsQuery, QueryDslQueryStringQuery, QueryDslSimpleQueryStringQuery, QueryDslMoreLikeThisQuery, QueryDslMatchBoolPrefixQuery, SearchHighlightBase, Script } from '@elastic/elasticsearch/lib/api/types';
7
7
  import type { FieldTypeString } from './index-management.types.js';
8
- import type { Infer, MappingsSchema, TextFields, KeywordFields, NumericFields, DateFields, BooleanFields, GeoPointFields, VectorFields } from './mapping.types.js';
8
+ import type { Infer, MappingsSchema, TextFields, KeywordFields, NumericFields, DateFields, BooleanFields, GeoPointFields, VectorFields, IpFields } from './mapping.types.js';
9
9
  import type { AggregationBuilder, AggregationState } from './aggregation.types.js';
10
10
  import type { KnnOptions } from './vector.types.js';
11
11
  import type { SuggesterBuilder, SuggesterState } from './suggester.types.js';
@@ -45,8 +45,13 @@ export type ScriptOptions = Script;
45
45
  export type ScriptQueryOptions = Script & Omit<QueryDslScriptQuery, 'script'>;
46
46
  export type ScriptScoreOptions = Omit<QueryDslScriptScoreQuery, 'query' | 'script'>;
47
47
  export type PercolateOptions = QueryDslPercolateQuery;
48
- type TermableFields<M extends Record<string, FieldTypeString>> = KeywordFields<M> | NumericFields<M> | DateFields<M> | BooleanFields<M>;
49
- type RangeableFields<M extends Record<string, FieldTypeString>> = NumericFields<M> | DateFields<M> | KeywordFields<M>;
48
+ export type CombinedFieldsOptions = Omit<QueryDslCombinedFieldsQuery, 'query' | 'fields'>;
49
+ export type QueryStringOptions = Omit<QueryDslQueryStringQuery, 'query'>;
50
+ export type SimpleQueryStringOptions = Omit<QueryDslSimpleQueryStringQuery, 'query'>;
51
+ export type MoreLikeThisOptions = Omit<QueryDslMoreLikeThisQuery, 'fields' | 'like'>;
52
+ export type MatchBoolPrefixOptions = Omit<QueryDslMatchBoolPrefixQuery, 'query'>;
53
+ type TermableFields<M extends Record<string, FieldTypeString>> = KeywordFields<M> | NumericFields<M> | DateFields<M> | BooleanFields<M> | IpFields<M>;
54
+ type RangeableFields<M extends Record<string, FieldTypeString>> = NumericFields<M> | DateFields<M> | KeywordFields<M> | IpFields<M>;
50
55
  type FuzzyableFields<M extends Record<string, FieldTypeString>> = TextFields<M> | KeywordFields<M>;
51
56
  type Val<M extends Record<string, FieldTypeString>, K extends keyof M> = Infer<MappingsSchema<M>>[K];
52
57
  export type QueryState<M extends Record<string, FieldTypeString>> = {
@@ -79,6 +84,25 @@ export type QueryState<M extends Record<string, FieldTypeString>> = {
79
84
  pre_tags?: string[];
80
85
  post_tags?: string[];
81
86
  };
87
+ search_after?: unknown[];
88
+ preference?: string;
89
+ collapse?: {
90
+ field: string;
91
+ inner_hits?: any;
92
+ max_concurrent_group_searches?: number;
93
+ };
94
+ rescore?: {
95
+ window_size: number;
96
+ query: {
97
+ rescore_query: any;
98
+ query_weight?: number;
99
+ rescore_query_weight?: number;
100
+ score_mode?: 'total' | 'multiply' | 'avg' | 'max' | 'min';
101
+ };
102
+ };
103
+ stored_fields?: string[];
104
+ terminate_after?: number;
105
+ indices_boost?: Array<Record<string, number>>;
82
106
  };
83
107
  export type ClauseBuilder<M extends Record<string, FieldTypeString>> = {
84
108
  matchAll: () => any;
@@ -101,6 +125,14 @@ export type ClauseBuilder<M extends Record<string, FieldTypeString>> = {
101
125
  ids: (values: string[]) => any;
102
126
  knn: <K extends VectorFields<M> & string>(field: K, queryVector: number[], options: KnnOptions) => any;
103
127
  script: (options: ScriptQueryOptions) => any;
128
+ combinedFields: <K extends TextFields<M> & string>(fields: K[], query: string, options?: CombinedFieldsOptions) => any;
129
+ queryString: (query: string, options?: QueryStringOptions) => any;
130
+ simpleQueryString: (query: string, options?: SimpleQueryStringOptions) => any;
131
+ moreLikeThis: (fields: Array<string & keyof M>, like: string | Array<string | {
132
+ _index: string;
133
+ _id: string;
134
+ }>, options?: MoreLikeThisOptions) => any;
135
+ matchBoolPrefix: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchBoolPrefixOptions) => any;
104
136
  when: <R>(condition: any, thenFn: (q: ClauseBuilder<M>) => R, elseFn?: (q: ClauseBuilder<M>) => R) => R | undefined;
105
137
  };
106
138
  export type QueryBuilder<M extends Record<string, FieldTypeString>> = {
@@ -138,7 +170,7 @@ export type QueryBuilder<M extends Record<string, FieldTypeString>> = {
138
170
  when: <R>(condition: any, thenFn: (q: QueryBuilder<M>) => R, elseFn?: (q: QueryBuilder<M>) => R) => R | undefined;
139
171
  aggs: (fn: (agg: AggregationBuilder<M>) => AggregationBuilder<M>) => QueryBuilder<M>;
140
172
  suggest: (fn: (s: SuggesterBuilder<M>) => SuggesterBuilder<M>) => QueryBuilder<M>;
141
- sort: <K extends string & keyof M>(field: K, direction: 'asc' | 'desc') => QueryBuilder<M>;
173
+ sort: (field: (string & keyof M) | '_score' | '_doc', direction: 'asc' | 'desc') => QueryBuilder<M>;
142
174
  from: (from: number) => QueryBuilder<M>;
143
175
  size: (size: number) => QueryBuilder<M>;
144
176
  _source: (fields: Array<string & keyof M>) => QueryBuilder<M>;
@@ -158,6 +190,28 @@ export type QueryBuilder<M extends Record<string, FieldTypeString>> = {
158
190
  geoPolygon: <K extends GeoPointFields<M> & string>(field: K, options: GeoPolygonOptions) => QueryBuilder<M>;
159
191
  regexp: <K extends KeywordFields<M> & string>(field: K, value: string, options?: RegexpOptions) => QueryBuilder<M>;
160
192
  constantScore: (fn: (q: ClauseBuilder<M>) => any, options?: ConstantScoreOptions) => QueryBuilder<M>;
193
+ combinedFields: <K extends TextFields<M> & string>(fields: K[], query: string, options?: CombinedFieldsOptions) => QueryBuilder<M>;
194
+ queryString: (query: string, options?: QueryStringOptions) => QueryBuilder<M>;
195
+ simpleQueryString: (query: string, options?: SimpleQueryStringOptions) => QueryBuilder<M>;
196
+ moreLikeThis: (fields: Array<string & keyof M>, like: string | Array<string | {
197
+ _index: string;
198
+ _id: string;
199
+ }>, options?: MoreLikeThisOptions) => QueryBuilder<M>;
200
+ matchBoolPrefix: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchBoolPrefixOptions) => QueryBuilder<M>;
201
+ searchAfter: (values: unknown[]) => QueryBuilder<M>;
202
+ preference: (value: string) => QueryBuilder<M>;
203
+ collapse: (field: string & keyof M, options?: {
204
+ inner_hits?: any;
205
+ max_concurrent_group_searches?: number;
206
+ }) => QueryBuilder<M>;
207
+ rescore: (queryFn: (q: ClauseBuilder<M>) => any, windowSize: number, options?: {
208
+ query_weight?: number;
209
+ rescore_query_weight?: number;
210
+ score_mode?: 'total' | 'multiply' | 'avg' | 'max' | 'min';
211
+ }) => QueryBuilder<M>;
212
+ storedFields: (fields: string[]) => QueryBuilder<M>;
213
+ terminateAfter: (count: number) => QueryBuilder<M>;
214
+ indicesBoost: (boosts: Array<Record<string, number>>) => QueryBuilder<M>;
161
215
  build: () => QueryState<M>;
162
216
  };
163
217
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"query.types.d.ts","sourceRoot":"","sources":["../src/query.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.types.d.ts","sourceRoot":"","sources":["../src/query.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
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 } 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
+ * Generate index sort settings from a field→direction map.
46
+ *
47
+ * Index-time sorting improves compression (similar values stored together) and
48
+ * enables early termination when query sort matches index sort. Combine with
49
+ * `trackTotalHits(false)` for fastest sorted queries.
50
+ *
51
+ * @param fields - Map of field names to sort directions.
52
+ * @returns The `index` portion of settings to spread into your settings config.
53
+ *
54
+ * @example
55
+ * const index = indexBuilder()
56
+ * .mappings(schema)
57
+ * .settings({
58
+ * ...productionSearchSettings(),
59
+ * index: indexSortSettings({ timestamp: 'desc', status: 'asc' }),
60
+ * })
61
+ * .build();
62
+ */
63
+ export declare const indexSortSettings: (fields: Record<string, "asc" | "desc">) => {
64
+ sort: {
65
+ field: string[];
66
+ order: string[];
67
+ };
68
+ };
69
+ /**
70
+ * Settings optimized for maximum indexing speed during bulk operations.
71
+ *
72
+ * Apply via the ES `_settings` API before starting bulk ingest, then revert
73
+ * with `productionSearchSettings()` afterward. Do not use these as permanent
74
+ * index settings — they trade durability and search availability for speed.
75
+ *
76
+ * Defaults:
77
+ * - `refresh_interval: '-1'` — disables refresh (can improve reindex time by 70%+)
78
+ * - `number_of_replicas: 0` — no replication overhead during ingest
79
+ * - `translog.durability: 'async'` — async translog for faster writes
80
+ * - `translog.sync_interval: '30s'` — less frequent translog sync
81
+ *
82
+ * @param overrides - Override or extend any setting. Applied after defaults.
83
+ * `translog` overrides are deep-merged so individual translog keys can be
84
+ * changed without clobbering the other defaults.
85
+ *
86
+ * @example
87
+ * // Apply before bulk ingest via ES client
88
+ * await client.indices.putSettings({
89
+ * index: 'my-index',
90
+ * body: fastIngestSettings(),
91
+ * });
92
+ *
93
+ * @example
94
+ * // With custom overrides
95
+ * fastIngestSettings({ number_of_shards: 3 })
96
+ */
97
+ export declare const fastIngestSettings: (overrides?: Partial<IndicesIndexSettings>) => IndicesIndexSettings;
98
+ //# sourceMappingURL=settings.presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.presets.d.ts","sourceRoot":"","sources":["../src/settings.presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,wBAAwB,GAAI,YAAY,OAAO,CAAC,oBAAoB,CAAC,KAAG,oBAInF,CAAC;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KACrC;IAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAQ9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,OAAO,CAAC,oBAAoB,CAAC,KAAG,oBAY9E,CAAC"}
@@ -0,0 +1,115 @@
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
+ /**
16
+ * Balanced production settings for search workloads.
17
+ *
18
+ * Defaults:
19
+ * - `number_of_replicas: 1` — one replica for redundancy
20
+ * - `refresh_interval: '5s'` — near-real-time search without excessive refresh overhead
21
+ *
22
+ * @param overrides - Override or extend any setting. Applied after defaults.
23
+ *
24
+ * @example
25
+ * const index = indexBuilder()
26
+ * .mappings(schema)
27
+ * .settings(productionSearchSettings())
28
+ * .build();
29
+ *
30
+ * @example
31
+ * // With best_compression for disk savings
32
+ * productionSearchSettings({ codec: 'best_compression' })
33
+ *
34
+ * @example
35
+ * // Restore production settings after bulk ingest
36
+ * await client.indices.putSettings({
37
+ * index: 'my-index',
38
+ * body: productionSearchSettings(),
39
+ * });
40
+ * await client.indices.refresh({ index: 'my-index' });
41
+ */
42
+ export const productionSearchSettings = (overrides) => ({
43
+ number_of_replicas: 1,
44
+ refresh_interval: '5s',
45
+ ...overrides
46
+ });
47
+ /**
48
+ * Generate index sort settings from a field→direction map.
49
+ *
50
+ * Index-time sorting improves compression (similar values stored together) and
51
+ * enables early termination when query sort matches index sort. Combine with
52
+ * `trackTotalHits(false)` for fastest sorted queries.
53
+ *
54
+ * @param fields - Map of field names to sort directions.
55
+ * @returns The `index` portion of settings to spread into your settings config.
56
+ *
57
+ * @example
58
+ * const index = indexBuilder()
59
+ * .mappings(schema)
60
+ * .settings({
61
+ * ...productionSearchSettings(),
62
+ * index: indexSortSettings({ timestamp: 'desc', status: 'asc' }),
63
+ * })
64
+ * .build();
65
+ */
66
+ export const indexSortSettings = (fields) => {
67
+ const entries = Object.entries(fields);
68
+ return {
69
+ sort: {
70
+ field: entries.map(([name]) => name),
71
+ order: entries.map(([, dir]) => dir)
72
+ }
73
+ };
74
+ };
75
+ /**
76
+ * Settings optimized for maximum indexing speed during bulk operations.
77
+ *
78
+ * Apply via the ES `_settings` API before starting bulk ingest, then revert
79
+ * with `productionSearchSettings()` afterward. Do not use these as permanent
80
+ * index settings — they trade durability and search availability for speed.
81
+ *
82
+ * Defaults:
83
+ * - `refresh_interval: '-1'` — disables refresh (can improve reindex time by 70%+)
84
+ * - `number_of_replicas: 0` — no replication overhead during ingest
85
+ * - `translog.durability: 'async'` — async translog for faster writes
86
+ * - `translog.sync_interval: '30s'` — less frequent translog sync
87
+ *
88
+ * @param overrides - Override or extend any setting. Applied after defaults.
89
+ * `translog` overrides are deep-merged so individual translog keys can be
90
+ * changed without clobbering the other defaults.
91
+ *
92
+ * @example
93
+ * // Apply before bulk ingest via ES client
94
+ * await client.indices.putSettings({
95
+ * index: 'my-index',
96
+ * body: fastIngestSettings(),
97
+ * });
98
+ *
99
+ * @example
100
+ * // With custom overrides
101
+ * fastIngestSettings({ number_of_shards: 3 })
102
+ */
103
+ export const fastIngestSettings = (overrides) => {
104
+ const { translog, ...rest } = overrides ?? {};
105
+ return {
106
+ number_of_replicas: 0,
107
+ refresh_interval: '-1',
108
+ translog: {
109
+ durability: 'async',
110
+ sync_interval: '30s',
111
+ ...translog
112
+ },
113
+ ...rest
114
+ };
115
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"suggester.builder.d.ts","sourceRoot":"","sources":["../src/suggester.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAEzC,QAAO,cAAmB,KACzB,gBAAgB,CAAC,CAAC,CAkCnB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC/D,SAAS,cAAc,CAAC,CAAC,CAAC,wBACI,CAAC"}
1
+ {"version":3,"file":"suggester.builder.d.ts","sourceRoot":"","sources":["../src/suggester.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC9E,QAAO,cAAmB,KACzB,gBAAgB,CAAC,CAAC,CAmCnB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,wBAChE,CAAC"}
@@ -34,6 +34,7 @@ export const createSuggesterBuilder = (state = {}) => ({
34
34
  }
35
35
  });
36
36
  },
37
+ // eslint-disable-next-line functional/functional-parameters
37
38
  build: () => ({
38
39
  suggest: state
39
40
  })
@@ -1 +1 @@
1
- {"version":3,"file":"suggester.types.d.ts","sourceRoot":"","sources":["../src/suggester.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE3D;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,aAAa,EAAE,MAAM,GAAG;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;QAC5B,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAChC,UAAU,CAAC,EAAE,0BAA0B,CAAC;KACzC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI;IACxE,iEAAiE;IACjE,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,KAC1B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEzB,iEAAiE;IACjE,MAAM,EAAE,CACN,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,sBAAsB,KAC5B,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEzB,wDAAwD;IACxD,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B,KAChC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEzB,0BAA0B;IAC1B,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"suggester.types.d.ts","sourceRoot":"","sources":["../src/suggester.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAE3D;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,aAAa,EAAE,MAAM,GAAG;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;QAC5B,MAAM,CAAC,EAAE,sBAAsB,CAAC;QAChC,UAAU,CAAC,EAAE,0BAA0B,CAAC;KACzC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI;IACxE,iEAAiE;IACjE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEzF,iEAAiE;IACjE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE7F,wDAAwD;IACxD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEvG,0BAA0B;IAC1B,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;CAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vector.types.d.ts","sourceRoot":"","sources":["../src/vector.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,0BAA0B,EAC3B,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"vector.types.d.ts","sourceRoot":"","sources":["../src/vector.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElG;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "elasticlink",
3
- "version": "0.3.0-beta",
3
+ "version": "0.4.0-beta",
4
4
  "description": "Type-safe, lightweight Elasticsearch query builder with fluent API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,6 +19,7 @@
19
19
  "scripts": {
20
20
  "build": "tsc",
21
21
  "test": "vitest run",
22
+ "test:integration": "vitest run --config vitest.integration.config.ts",
22
23
  "test:watch": "vitest",
23
24
  "test:coverage": "vitest run --coverage",
24
25
  "lint": "eslint src --ext .ts",
@@ -68,13 +69,15 @@
68
69
  "@types/node": "^22",
69
70
  "@typescript-eslint/eslint-plugin": "^8.56.1",
70
71
  "@typescript-eslint/parser": "^8.56.1",
72
+ "@vitest/coverage-v8": "^4.0.18",
73
+ "@vitest/eslint-plugin": "^1.6.9",
71
74
  "better-npm-audit": "^3.11.0",
72
75
  "eslint": "^10.0.2",
76
+ "eslint-plugin-functional": "^9.0.4",
73
77
  "globals": "^17.3.0",
74
78
  "prettier": "^3.8.1",
75
79
  "typescript": "^5.9.3",
76
80
  "typescript-eslint": "^8.56.1",
77
- "vitest": "^4.0.18",
78
- "@vitest/coverage-v8": "^4.0.18"
81
+ "vitest": "^4.0.18"
79
82
  }
80
83
  }