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
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation.builder.d.ts","sourceRoot":"","sources":["../src/aggregation.builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAajB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,wBAAwB,GACnC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAEzC,QAAO,gBAAqB,KAC3B,kBAAkB,CAAC,CAAC,CAiNrB,CAAC;AAGH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACpE,SAAS,cAAc,CAAC,CAAC,CAAC,0BACM,CAAC"}
1
+ {"version":3,"file":"aggregation.builder.d.ts","sourceRoot":"","sources":["../src/aggregation.builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAajB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAChF,QAAO,gBAAqB,KAC3B,kBAAkB,CAAC,CAAC,CAsKrB,CAAC;AAGH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,0BACnE,CAAC"}
@@ -1,147 +1,154 @@
1
1
  export const createAggregationBuilder = (state = {}) => ({
2
2
  // Bucket aggregations
3
3
  terms: (name, field, options) => {
4
- const aggregations = { ...state };
5
- aggregations[name] = {
6
- terms: {
7
- field: String(field),
8
- ...(options && Object.keys(options).length > 0 ? options : {})
4
+ return createAggregationBuilder({
5
+ ...state,
6
+ [name]: {
7
+ terms: {
8
+ field,
9
+ ...(options && options)
10
+ }
9
11
  }
10
- };
11
- return createAggregationBuilder(aggregations);
12
+ });
12
13
  },
13
14
  dateHistogram: (name, field, options) => {
14
- const aggregations = { ...state };
15
- aggregations[name] = {
16
- date_histogram: {
17
- field: String(field),
18
- ...options
15
+ return createAggregationBuilder({
16
+ ...state,
17
+ [name]: {
18
+ date_histogram: {
19
+ field,
20
+ ...(options && options)
21
+ }
19
22
  }
20
- };
21
- return createAggregationBuilder(aggregations);
23
+ });
22
24
  },
23
25
  range: (name, field, options) => {
24
- const aggregations = { ...state };
25
- aggregations[name] = {
26
- range: {
27
- field: String(field),
28
- ranges: options.ranges
26
+ return createAggregationBuilder({
27
+ ...state,
28
+ [name]: {
29
+ range: {
30
+ field,
31
+ ...(options && options)
32
+ }
29
33
  }
30
- };
31
- return createAggregationBuilder(aggregations);
34
+ });
32
35
  },
33
36
  histogram: (name, field, options) => {
34
- const aggregations = { ...state };
35
- aggregations[name] = {
36
- histogram: {
37
- field: String(field),
38
- ...options
37
+ return createAggregationBuilder({
38
+ ...state,
39
+ [name]: {
40
+ histogram: {
41
+ field,
42
+ ...(options && options)
43
+ }
39
44
  }
40
- };
41
- return createAggregationBuilder(aggregations);
45
+ });
42
46
  },
43
47
  // Metric aggregations
44
48
  avg: (name, field, options) => {
45
- const aggregations = { ...state };
46
- aggregations[name] = {
47
- avg: {
48
- field: String(field),
49
- ...(options && Object.keys(options).length > 0 ? options : {})
49
+ return createAggregationBuilder({
50
+ ...state,
51
+ [name]: {
52
+ avg: {
53
+ field,
54
+ ...(options && options)
55
+ }
50
56
  }
51
- };
52
- return createAggregationBuilder(aggregations);
57
+ });
53
58
  },
54
59
  sum: (name, field, options) => {
55
- const aggregations = { ...state };
56
- aggregations[name] = {
57
- sum: {
58
- field: String(field),
59
- ...(options && Object.keys(options).length > 0 ? options : {})
60
+ return createAggregationBuilder({
61
+ ...state,
62
+ [name]: {
63
+ sum: {
64
+ field,
65
+ ...(options && options)
66
+ }
60
67
  }
61
- };
62
- return createAggregationBuilder(aggregations);
68
+ });
63
69
  },
64
70
  min: (name, field, options) => {
65
- const aggregations = { ...state };
66
- aggregations[name] = {
67
- min: {
68
- field: String(field),
69
- ...(options && Object.keys(options).length > 0 ? options : {})
71
+ return createAggregationBuilder({
72
+ ...state,
73
+ [name]: {
74
+ min: {
75
+ field,
76
+ ...(options && options)
77
+ }
70
78
  }
71
- };
72
- return createAggregationBuilder(aggregations);
79
+ });
73
80
  },
74
81
  max: (name, field, options) => {
75
- const aggregations = { ...state };
76
- aggregations[name] = {
77
- max: {
78
- field: String(field),
79
- ...(options && Object.keys(options).length > 0 ? options : {})
82
+ return createAggregationBuilder({
83
+ ...state,
84
+ [name]: {
85
+ max: {
86
+ field,
87
+ ...(options && options)
88
+ }
80
89
  }
81
- };
82
- return createAggregationBuilder(aggregations);
90
+ });
83
91
  },
84
92
  cardinality: (name, field, options) => {
85
- const aggregations = { ...state };
86
- aggregations[name] = {
87
- cardinality: {
88
- field: String(field),
89
- ...(options && Object.keys(options).length > 0 ? options : {})
93
+ return createAggregationBuilder({
94
+ ...state,
95
+ [name]: {
96
+ cardinality: {
97
+ field,
98
+ ...(options && options)
99
+ }
90
100
  }
91
- };
92
- return createAggregationBuilder(aggregations);
101
+ });
93
102
  },
94
103
  percentiles: (name, field, options) => {
95
- const aggregations = { ...state };
96
- aggregations[name] = {
97
- percentiles: {
98
- field: String(field),
99
- ...(options && Object.keys(options).length > 0 ? options : {})
104
+ return createAggregationBuilder({
105
+ ...state,
106
+ [name]: {
107
+ percentiles: {
108
+ field,
109
+ ...(options && options)
110
+ }
100
111
  }
101
- };
102
- return createAggregationBuilder(aggregations);
112
+ });
103
113
  },
104
114
  stats: (name, field, options) => {
105
- const aggregations = { ...state };
106
- aggregations[name] = {
107
- stats: {
108
- field: String(field),
109
- ...(options && Object.keys(options).length > 0 ? options : {})
115
+ return createAggregationBuilder({
116
+ ...state,
117
+ [name]: {
118
+ stats: {
119
+ field,
120
+ ...(options && options)
121
+ }
110
122
  }
111
- };
112
- return createAggregationBuilder(aggregations);
123
+ });
113
124
  },
114
125
  valueCount: (name, field, options) => {
115
- const aggregations = { ...state };
116
- aggregations[name] = {
117
- value_count: {
118
- field: String(field),
119
- ...(options && Object.keys(options).length > 0 ? options : {})
126
+ return createAggregationBuilder({
127
+ ...state,
128
+ [name]: {
129
+ value_count: {
130
+ field,
131
+ ...(options && options)
132
+ }
120
133
  }
121
- };
122
- return createAggregationBuilder(aggregations);
134
+ });
123
135
  },
124
136
  // Sub-aggregations
125
137
  subAgg: (fn) => {
126
- // Get the last aggregation added
127
138
  const keys = Object.keys(state);
128
- if (keys.length === 0) {
129
- throw new Error('No aggregation to add sub-aggregation to');
130
- }
131
- const lastKey = keys[keys.length - 1];
132
- const lastAgg = state[lastKey];
133
- // Apply sub-aggregations
139
+ const lastKey = keys.at(-1);
140
+ const { [lastKey]: lastAgg } = state;
134
141
  const subAggs = fn(createAggregationBuilder({})).build();
135
- const updatedState = {
142
+ return createAggregationBuilder({
136
143
  ...state,
137
144
  [lastKey]: {
138
145
  ...lastAgg,
139
146
  aggs: subAggs
140
147
  }
141
- };
142
- return createAggregationBuilder(updatedState);
148
+ });
143
149
  },
144
150
  // Build
151
+ // eslint-disable-next-line functional/functional-parameters
145
152
  build: () => state
146
153
  });
147
154
  // Helper function to create aggregations without needing to import the builder
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import type { AggregationsTermsAggregation, AggregationsDateHistogramAggregation, AggregationsRangeAggregation, AggregationsHistogramAggregation, AggregationsAverageAggregation, AggregationsSumAggregation, AggregationsMinAggregation, AggregationsMaxAggregation, AggregationsCardinalityAggregation, AggregationsPercentilesAggregation, AggregationsStatsAggregation, AggregationsValueCountAggregation, AggregationsCalendarInterval } from '@elastic/elasticsearch/lib/api/types';
7
7
  import type { FieldTypeString } from './index-management.types.js';
8
+ import type { DateFields, NumericFields } from './mapping.types.js';
8
9
  /**
9
10
  * Options for terms aggregation (excludes 'field' which is handled by the builder)
10
11
  * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html
@@ -83,25 +84,25 @@ export type AggregationBuilder<M extends Record<string, FieldTypeString>> = {
83
84
  /** Terms aggregation - group by field values */
84
85
  terms: <K extends string & keyof M>(name: string, field: K, options?: TermsAggOptions) => AggregationBuilder<M>;
85
86
  /** Date histogram aggregation - group by time intervals */
86
- dateHistogram: <K extends string & keyof M>(name: string, field: K, options: DateHistogramAggOptions) => AggregationBuilder<M>;
87
+ dateHistogram: <K extends DateFields<M> & string>(name: string, field: K, options?: DateHistogramAggOptions) => AggregationBuilder<M>;
87
88
  /** Range aggregation - group by numeric/date ranges */
88
- range: <K extends string & keyof M>(name: string, field: K, options: RangeAggOptions) => AggregationBuilder<M>;
89
+ range: <K extends string & keyof M>(name: string, field: K, options?: RangeAggOptions) => AggregationBuilder<M>;
89
90
  /** Histogram aggregation - group by numeric intervals */
90
- histogram: <K extends string & keyof M>(name: string, field: K, options: HistogramAggOptions) => AggregationBuilder<M>;
91
+ histogram: <K extends NumericFields<M> & string>(name: string, field: K, options?: HistogramAggOptions) => AggregationBuilder<M>;
91
92
  /** Average aggregation */
92
- avg: <K extends string & keyof M>(name: string, field: K, options?: AvgAggOptions) => AggregationBuilder<M>;
93
+ avg: <K extends NumericFields<M> & string>(name: string, field: K, options?: AvgAggOptions) => AggregationBuilder<M>;
93
94
  /** Sum aggregation */
94
- sum: <K extends string & keyof M>(name: string, field: K, options?: SumAggOptions) => AggregationBuilder<M>;
95
+ sum: <K extends NumericFields<M> & string>(name: string, field: K, options?: SumAggOptions) => AggregationBuilder<M>;
95
96
  /** Minimum value aggregation */
96
- min: <K extends string & keyof M>(name: string, field: K, options?: MinAggOptions) => AggregationBuilder<M>;
97
+ min: <K extends NumericFields<M> & string>(name: string, field: K, options?: MinAggOptions) => AggregationBuilder<M>;
97
98
  /** Maximum value aggregation */
98
- max: <K extends string & keyof M>(name: string, field: K, options?: MaxAggOptions) => AggregationBuilder<M>;
99
+ max: <K extends NumericFields<M> & string>(name: string, field: K, options?: MaxAggOptions) => AggregationBuilder<M>;
99
100
  /** Cardinality aggregation - count unique values */
100
101
  cardinality: <K extends string & keyof M>(name: string, field: K, options?: CardinalityAggOptions) => AggregationBuilder<M>;
101
102
  /** Percentiles aggregation */
102
- percentiles: <K extends string & keyof M>(name: string, field: K, options?: PercentilesAggOptions) => AggregationBuilder<M>;
103
+ percentiles: <K extends NumericFields<M> & string>(name: string, field: K, options?: PercentilesAggOptions) => AggregationBuilder<M>;
103
104
  /** Statistics aggregation (count, min, max, avg, sum) */
104
- stats: <K extends string & keyof M>(name: string, field: K, options?: StatsAggOptions) => AggregationBuilder<M>;
105
+ stats: <K extends NumericFields<M> & string>(name: string, field: K, options?: StatsAggOptions) => AggregationBuilder<M>;
105
106
  /** Value count aggregation */
106
107
  valueCount: <K extends string & keyof M>(name: string, field: K, options?: ValueCountAggOptions) => AggregationBuilder<M>;
107
108
  /** Add sub-aggregation to parent bucket aggregation */
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation.types.d.ts","sourceRoot":"","sources":["../src/aggregation.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregation.types.d.ts","sourceRoot":"","sources":["../src/aggregation.types.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare const createBulkBuilder: <T>(operations?: any[]) => BulkBuilder<T
15
15
  * `.build()` returns an NDJSON string (newline-delimited JSON) ready to POST to `/_bulk`.
16
16
  * `.buildArray()` returns the raw operation objects if you need to inspect or transform them.
17
17
  * @example
18
- * const ndjson = bulk<Product>()
18
+ * const ndjson = bulk(productMappings)
19
19
  * .index({ id: '1', name: 'Product 1' }, { _index: 'products', _id: '1' })
20
20
  * .create({ id: '2', name: 'Product 2' }, { _index: 'products', _id: '2' })
21
21
  * .update({ _index: 'products', _id: '3', doc: { name: 'Updated' } })
@@ -24,7 +24,10 @@ export declare const createBulkBuilder: <T>(operations?: any[]) => BulkBuilder<T
24
24
  */
25
25
  export declare const bulk: <M extends Record<string, FieldTypeString>>(_schema: MappingsSchema<M>) => BulkBuilder<{ [K in keyof M]: M[K] extends keyof {
26
26
  text: string;
27
+ match_only_text: string;
27
28
  keyword: string;
29
+ constant_keyword: string;
30
+ wildcard: string;
28
31
  long: number;
29
32
  integer: number;
30
33
  short: number;
@@ -44,8 +47,10 @@ export declare const bulk: <M extends Record<string, FieldTypeString>>(_schema:
44
47
  geo_shape: Record<string, unknown>;
45
48
  dense_vector: number[];
46
49
  completion: string;
50
+ search_as_you_type: string;
47
51
  nested: unknown;
48
52
  object: unknown;
53
+ flattened: Record<string, unknown>;
49
54
  alias: unknown;
50
55
  percolator: unknown;
51
56
  integer_range: {
@@ -80,7 +85,10 @@ export declare const bulk: <M extends Record<string, FieldTypeString>>(_schema:
80
85
  };
81
86
  } ? {
82
87
  text: string;
88
+ match_only_text: string;
83
89
  keyword: string;
90
+ constant_keyword: string;
91
+ wildcard: string;
84
92
  long: number;
85
93
  integer: number;
86
94
  short: number;
@@ -100,8 +108,10 @@ export declare const bulk: <M extends Record<string, FieldTypeString>>(_schema:
100
108
  geo_shape: Record<string, unknown>;
101
109
  dense_vector: number[];
102
110
  completion: string;
111
+ search_as_you_type: string;
103
112
  nested: unknown;
104
113
  object: unknown;
114
+ flattened: Record<string, unknown>;
105
115
  alias: unknown;
106
116
  percolator: unknown;
107
117
  integer_range: {
@@ -1 +1 @@
1
- {"version":3,"file":"bulk.builder.d.ts","sourceRoot":"","sources":["../src/bulk.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAEjC,aAAY,GAAG,EAAO,KACrB,WAAW,CAAC,CAAC,CA8Bd,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC5D,SAAS,cAAc,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;WAnBiC,CAAC;WAC5D,CAAC;UAEM,CAAC;UAAY,CAAC;;;WAIP,CAAA;WAAa,CAAC;UAC7B,CAAC;UAAY,CAAC;;;WAA+B,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAC1D,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAChE,CAAC;WACE,CAAA;UAAY,CAAC;UACrB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAZ4D,CAAC;WAC5D,CAAC;UAEM,CAAC;UAAY,CAAC;;;WAIP,CAAA;WAAa,CAAC;UAC7B,CAAC;UAAY,CAAC;;;WAA+B,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAC1D,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAChE,CAAC;WACE,CAAA;UAAY,CAAC;UACrB,CAAA;;qBAQiD,CAAC"}
1
+ {"version":3,"file":"bulk.builder.d.ts","sourceRoot":"","sources":["../src/bulk.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAEjC,aAAY,GAAG,EAAO,KACrB,WAAW,CAAC,CAAC,CAiCd,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAE6F,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAAgC,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAA+B,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAAiC,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAA+B,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAA5U,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAAgC,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAA+B,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAAiC,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;;WAA+B,CAAC;WAAa,CAAC;UAAY,CAAC;UAAY,CAAC;;qBADpd,CAAC"}
@@ -18,23 +18,22 @@ operations = []) => ({
18
18
  update: (meta) => {
19
19
  const { doc, script, upsert, doc_as_upsert, ...header } = meta;
20
20
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
- const updateDoc = {};
22
- if (doc)
23
- updateDoc.doc = doc;
24
- if (script)
25
- updateDoc.script = script;
26
- if (upsert)
27
- updateDoc.upsert = upsert;
28
- if (doc_as_upsert !== undefined)
29
- updateDoc.doc_as_upsert = doc_as_upsert;
21
+ const updateDoc = {
22
+ ...(doc && { doc }),
23
+ ...(script && { script }),
24
+ ...(upsert && { upsert }),
25
+ ...(doc_as_upsert !== undefined && { doc_as_upsert })
26
+ };
30
27
  return createBulkBuilder([...operations, { update: header }, updateDoc]);
31
28
  },
32
29
  delete: (meta) => {
33
30
  return createBulkBuilder([...operations, { delete: meta }]);
34
31
  },
32
+ // eslint-disable-next-line functional/functional-parameters
35
33
  build: () => {
36
- return operations.map((op) => JSON.stringify(op)).join('\n') + '\n';
34
+ return `${operations.map((op) => JSON.stringify(op)).join('\n')}\n`;
37
35
  },
36
+ // eslint-disable-next-line functional/functional-parameters
38
37
  buildArray: () => operations
39
38
  });
40
39
  /**
@@ -42,7 +41,7 @@ operations = []) => ({
42
41
  * `.build()` returns an NDJSON string (newline-delimited JSON) ready to POST to `/_bulk`.
43
42
  * `.buildArray()` returns the raw operation objects if you need to inspect or transform them.
44
43
  * @example
45
- * const ndjson = bulk<Product>()
44
+ * const ndjson = bulk(productMappings)
46
45
  * .index({ id: '1', name: 'Product 1' }, { _index: 'products', _id: '1' })
47
46
  * .create({ id: '2', name: 'Product 2' }, { _index: 'products', _id: '2' })
48
47
  * .update({ _index: 'products', _id: '3', doc: { name: 'Updated' } })
@@ -1 +1 @@
1
- {"version":3,"file":"bulk.types.d.ts","sourceRoot":"","sources":["../src/bulk.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,mBAAmB,GACjD,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,2CAA2C;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACxD,sDAAsD;IACtD,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1D,kCAAkC;IAClC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,wBAAwB;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACjD,sDAAsD;IACtD,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,gCAAgC;IAEhC,UAAU,EAAE,MAAM,GAAG,EAAE,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"bulk.types.d.ts","sourceRoot":"","sources":["../src/bulk.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,2CAA2C;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACxD,sDAAsD;IACtD,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1D,kCAAkC;IAClC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,wBAAwB;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACjD,sDAAsD;IACtD,KAAK,EAAE,MAAM,MAAM,CAAC;IACpB,gCAAgC;IAEhC,UAAU,EAAE,MAAM,GAAG,EAAE,CAAC;CACzB,CAAC"}
@@ -13,8 +13,7 @@
13
13
  * embedding: denseVector({ dims: 384 }),
14
14
  * });
15
15
  */
16
- import type { FieldMapping } from './index-management.types.js';
17
- import type { TextFieldOptions, KeywordFieldOptions, NumericFieldOptions, ScaledFloatFieldOptions, DateFieldOptions, BooleanFieldOptions, DenseVectorFieldOptions, NestedFields, ObjectFieldOptions, CompletionFieldOptions, GeoPointFieldOptions, GeoShapeFieldOptions, AliasFieldOptions, IpFieldOptions, RangeFieldOptions, TextFieldMapping, KeywordFieldMapping, LongFieldMapping, IntegerFieldMapping, ShortFieldMapping, ByteFieldMapping, DoubleFieldMapping, FloatFieldMapping, HalfFloatFieldMapping, ScaledFloatFieldMapping, DateFieldMapping, BooleanFieldMapping, BinaryFieldMapping, IpFieldMapping, DenseVectorFieldMapping, GeoPointFieldMapping, GeoShapeFieldMapping, CompletionFieldMapping, NestedFieldMapping, ObjectFieldMapping, AliasFieldMapping, PercolatorFieldMapping, IntegerRangeFieldMapping, FloatRangeFieldMapping, LongRangeFieldMapping, DoubleRangeFieldMapping, DateRangeFieldMapping } from './field.types.js';
16
+ import type { TextFieldOptions, KeywordFieldOptions, NumericFieldOptions, ScaledFloatFieldOptions, DateFieldOptions, BooleanFieldOptions, DenseVectorFieldOptions, NestedFields, ObjectFieldOptions, CompletionFieldOptions, GeoPointFieldOptions, GeoShapeFieldOptions, AliasFieldOptions, IpFieldOptions, RangeFieldOptions, MatchOnlyTextFieldOptions, SearchAsYouTypeFieldOptions, ConstantKeywordFieldOptions, WildcardFieldOptions, FlattenedFieldOptions, TextFieldMapping, KeywordFieldMapping, LongFieldMapping, IntegerFieldMapping, ShortFieldMapping, ByteFieldMapping, DoubleFieldMapping, FloatFieldMapping, HalfFloatFieldMapping, ScaledFloatFieldMapping, DateFieldMapping, BooleanFieldMapping, BinaryFieldMapping, IpFieldMapping, DenseVectorFieldMapping, GeoPointFieldMapping, GeoShapeFieldMapping, CompletionFieldMapping, NestedFieldMapping, ObjectFieldMapping, AliasFieldMapping, PercolatorFieldMapping, IntegerRangeFieldMapping, FloatRangeFieldMapping, LongRangeFieldMapping, DoubleRangeFieldMapping, DateRangeFieldMapping, MatchOnlyTextFieldMapping, SearchAsYouTypeFieldMapping, ConstantKeywordFieldMapping, WildcardFieldMapping, FlattenedFieldMapping } from './field.types.js';
18
17
  export declare const text: (options?: TextFieldOptions) => TextFieldMapping;
19
18
  export declare const keyword: (options?: KeywordFieldOptions) => KeywordFieldMapping;
20
19
  export declare const long: (options?: NumericFieldOptions) => LongFieldMapping;
@@ -30,17 +29,73 @@ export declare const boolean: (options?: BooleanFieldOptions) => BooleanFieldMap
30
29
  export declare const binary: () => BinaryFieldMapping;
31
30
  export declare const ip: (options?: IpFieldOptions) => IpFieldMapping;
32
31
  export declare const denseVector: (options?: DenseVectorFieldOptions) => DenseVectorFieldMapping;
32
+ /**
33
+ * Quantized dense vector field — wraps `denseVector()` with `int8_hnsw` index type.
34
+ *
35
+ * Quantizes float32 vectors to int8 at index time, saving ~75% memory.
36
+ * Recommended for vectors with dims >= 384. Original float vectors are retained
37
+ * in the index, enabling a two-phase search pattern:
38
+ *
39
+ * 1. Fast approximate search using quantized int8 vectors
40
+ * 2. Precise rescore of top-k results using retained float vectors
41
+ *
42
+ * @example
43
+ * // Index mapping
44
+ * const schema = mappings({
45
+ * title: text(),
46
+ * embedding: quantizedDenseVector({ dims: 768, similarity: 'cosine' }),
47
+ * }, {
48
+ * _source: { excludes: ['embedding'] },
49
+ * });
50
+ *
51
+ * // Two-phase search: fast kNN + precise rescore
52
+ * const result = query(schema)
53
+ * .knn('embedding', queryVector, { k: 100, num_candidates: 200 })
54
+ * .rescore(
55
+ * (q) => q.scriptScore(
56
+ * (inner) => inner.matchAll(),
57
+ * { source: "cosineSimilarity(params.v, 'embedding') + 1.0", params: { v: queryVector } }
58
+ * ),
59
+ * 100
60
+ * )
61
+ * .build();
62
+ */
63
+ export declare const quantizedDenseVector: (options?: DenseVectorFieldOptions) => DenseVectorFieldMapping;
33
64
  export declare const geoPoint: (options?: GeoPointFieldOptions) => GeoPointFieldMapping;
34
65
  export declare const geoShape: (options?: GeoShapeFieldOptions) => GeoShapeFieldMapping;
35
66
  export declare const completion: (options?: CompletionFieldOptions) => CompletionFieldMapping;
36
67
  export declare const nested: (fields?: NestedFields) => NestedFieldMapping;
37
68
  export declare const object: (fields?: NestedFields, options?: ObjectFieldOptions) => ObjectFieldMapping;
38
- export declare const alias: (options?: AliasFieldOptions) => AliasFieldMapping;
69
+ export declare const alias: (options: AliasFieldOptions) => AliasFieldMapping;
39
70
  export declare const percolator: () => PercolatorFieldMapping;
40
71
  export declare const integerRange: (options?: RangeFieldOptions) => IntegerRangeFieldMapping;
41
72
  export declare const floatRange: (options?: RangeFieldOptions) => FloatRangeFieldMapping;
42
73
  export declare const longRange: (options?: RangeFieldOptions) => LongRangeFieldMapping;
43
74
  export declare const doubleRange: (options?: RangeFieldOptions) => DoubleRangeFieldMapping;
44
75
  export declare const dateRange: (options?: RangeFieldOptions) => DateRangeFieldMapping;
45
- export declare const resolveField: (input: FieldMapping) => FieldMapping;
76
+ /**
77
+ * No-score text field — faster and uses less disk than `text()`.
78
+ * Use when you only need filter/match but not relevance scoring (e.g., logs, simple field matches).
79
+ */
80
+ export declare const matchOnlyText: (options?: MatchOnlyTextFieldOptions) => MatchOnlyTextFieldMapping;
81
+ /**
82
+ * Autocomplete / typeahead field. Creates sub-fields for edge n-gram matching
83
+ * out of the box. Query with `multi_match` targeting the generated sub-fields.
84
+ */
85
+ export declare const searchAsYouType: (options?: SearchAsYouTypeFieldOptions) => SearchAsYouTypeFieldMapping;
86
+ /**
87
+ * Field where every document has the same value. Useful for multi-index queries
88
+ * to identify the index type (e.g., `constantKeyword({ value: 'product' })`).
89
+ */
90
+ export declare const constantKeyword: (options?: ConstantKeywordFieldOptions) => ConstantKeywordFieldMapping;
91
+ /**
92
+ * Optimized for grep-like wildcard/regexp queries on high-cardinality or large fields.
93
+ * Use instead of `keyword()` when leading wildcards (`*foo`) are needed.
94
+ */
95
+ export declare const wildcardField: (options?: WildcardFieldOptions) => WildcardFieldMapping;
96
+ /**
97
+ * Flattens complex/dynamic objects into a single field. Faster than `nested()`,
98
+ * but only supports keyword-level queries on inner values.
99
+ */
100
+ export declare const flattened: (options?: FlattenedFieldOptions) => FlattenedFieldMapping;
46
101
  //# sourceMappingURL=field.helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.helpers.d.ts","sourceRoot":"","sources":["../src/field.helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.helpers.d.ts","sourceRoot":"","sources":["../src/field.helpers.ts"],"names":[],"mappings":"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"}