elasticlink 0.2.2-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.
- package/README.md +223 -177
- package/dist/__tests__/aggregation-builder.test.d.ts +2 -0
- package/dist/__tests__/aggregation-builder.test.d.ts.map +1 -0
- package/dist/__tests__/aggregation-builder.test.js +622 -0
- package/dist/__tests__/bulk.test.d.ts +2 -0
- package/dist/__tests__/bulk.test.d.ts.map +1 -0
- package/dist/__tests__/bulk.test.js +679 -0
- package/dist/__tests__/examples.test.d.ts +2 -0
- package/dist/__tests__/examples.test.d.ts.map +1 -0
- package/dist/__tests__/examples.test.js +2123 -0
- package/dist/__tests__/fixtures/finance.d.ts +58 -0
- package/dist/__tests__/fixtures/finance.d.ts.map +1 -0
- package/dist/__tests__/fixtures/finance.js +73 -0
- package/dist/__tests__/fixtures/legal.d.ts +14 -0
- package/dist/__tests__/fixtures/legal.d.ts.map +1 -0
- package/dist/__tests__/fixtures/legal.js +27 -0
- package/dist/__tests__/fixtures/real-estate.d.ts +31 -0
- package/dist/__tests__/fixtures/real-estate.d.ts.map +1 -0
- package/dist/__tests__/fixtures/real-estate.js +39 -0
- package/dist/__tests__/index-management.test.d.ts +2 -0
- package/dist/__tests__/index-management.test.d.ts.map +1 -0
- package/dist/__tests__/index-management.test.js +1699 -0
- package/dist/__tests__/integration/aggregation.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/aggregation.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/aggregation.integration.test.js +188 -0
- package/dist/__tests__/integration/bulk.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/bulk.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/bulk.integration.test.js +90 -0
- package/dist/__tests__/integration/fixtures/finance.d.ts +37 -0
- package/dist/__tests__/integration/fixtures/finance.d.ts.map +1 -0
- package/dist/__tests__/integration/fixtures/finance.js +58 -0
- package/dist/__tests__/integration/fixtures/legal.d.ts +38 -0
- package/dist/__tests__/integration/fixtures/legal.d.ts.map +1 -0
- package/dist/__tests__/integration/fixtures/legal.js +65 -0
- package/dist/__tests__/integration/fixtures/real-estate.d.ts +17 -0
- package/dist/__tests__/integration/fixtures/real-estate.d.ts.map +1 -0
- package/dist/__tests__/integration/fixtures/real-estate.js +28 -0
- package/dist/__tests__/integration/helpers.d.ts +15 -0
- package/dist/__tests__/integration/helpers.d.ts.map +1 -0
- package/dist/__tests__/integration/helpers.js +21 -0
- package/dist/__tests__/integration/index-management.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/index-management.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/index-management.integration.test.js +67 -0
- package/dist/__tests__/integration/multi-search.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/multi-search.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/multi-search.integration.test.js +49 -0
- package/dist/__tests__/integration/query.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/query.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/query.integration.test.js +101 -0
- package/dist/__tests__/integration/suggester.integration.test.d.ts +2 -0
- package/dist/__tests__/integration/suggester.integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration/suggester.integration.test.js +42 -0
- package/dist/__tests__/multi-search.test.d.ts +2 -0
- package/dist/__tests__/multi-search.test.d.ts.map +1 -0
- package/dist/__tests__/multi-search.test.js +325 -0
- package/dist/__tests__/query-builder-extensions.test.d.ts +2 -0
- package/dist/__tests__/query-builder-extensions.test.d.ts.map +1 -0
- package/dist/__tests__/query-builder-extensions.test.js +436 -0
- package/dist/__tests__/query-builder.test.d.ts +2 -0
- package/dist/__tests__/query-builder.test.d.ts.map +1 -0
- package/dist/__tests__/query-builder.test.js +5482 -0
- package/dist/__tests__/settings-presets.test.d.ts +2 -0
- package/dist/__tests__/settings-presets.test.d.ts.map +1 -0
- package/dist/__tests__/settings-presets.test.js +183 -0
- package/dist/__tests__/suggester.test.d.ts +2 -0
- package/dist/__tests__/suggester.test.d.ts.map +1 -0
- package/dist/__tests__/suggester.test.js +1006 -0
- package/dist/aggregation.builder.d.ts +4 -2
- package/dist/aggregation.builder.d.ts.map +1 -1
- package/dist/aggregation.builder.js +102 -95
- package/dist/aggregation.types.d.ts +16 -14
- package/dist/aggregation.types.d.ts.map +1 -1
- package/dist/bulk.builder.d.ts +126 -2
- package/dist/bulk.builder.d.ts.map +1 -1
- package/dist/bulk.builder.js +11 -12
- package/dist/bulk.types.d.ts.map +1 -1
- package/dist/field.helpers.d.ts +92 -42
- package/dist/field.helpers.d.ts.map +1 -1
- package/dist/field.helpers.js +99 -20
- package/dist/field.types.d.ts +113 -6
- package/dist/field.types.d.ts.map +1 -1
- package/dist/field.types.js +3 -3
- package/dist/index-management.builder.d.ts +19 -14
- package/dist/index-management.builder.d.ts.map +1 -1
- package/dist/index-management.builder.js +36 -34
- package/dist/index-management.types.d.ts +32 -62
- package/dist/index-management.types.d.ts.map +1 -1
- package/dist/index-management.types.js +0 -1
- package/dist/index.d.ts +18 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -8
- package/dist/mapping.builder.d.ts +37 -0
- package/dist/mapping.builder.d.ts.map +1 -0
- package/dist/mapping.builder.js +38 -0
- package/dist/mapping.types.d.ts +105 -0
- package/dist/mapping.types.d.ts.map +1 -0
- package/dist/mapping.types.js +6 -0
- package/dist/multi-search.builder.d.ts +5 -3
- package/dist/multi-search.builder.d.ts.map +1 -1
- package/dist/multi-search.builder.js +6 -4
- package/dist/multi-search.types.d.ts +7 -6
- package/dist/multi-search.types.d.ts.map +1 -1
- package/dist/query.builder.d.ts +3 -11
- package/dist/query.builder.d.ts.map +1 -1
- package/dist/query.builder.js +118 -259
- package/dist/query.types.d.ts +140 -236
- package/dist/query.types.d.ts.map +1 -1
- package/dist/query.types.js +2 -1
- package/dist/settings.presets.d.ts +98 -0
- package/dist/settings.presets.d.ts.map +1 -0
- package/dist/settings.presets.js +115 -0
- package/dist/suggester.builder.d.ts +5 -3
- package/dist/suggester.builder.d.ts.map +1 -1
- package/dist/suggester.builder.js +3 -2
- package/dist/suggester.types.d.ts +5 -4
- package/dist/suggester.types.d.ts.map +1 -1
- package/dist/vector.types.d.ts.map +1 -1
- package/package.json +12 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-presets.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/settings-presets.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { fastIngestSettings, productionSearchSettings, indexSortSettings, indexBuilder } from '..';
|
|
2
|
+
describe('Settings Presets', () => {
|
|
3
|
+
describe('productionSearchSettings', () => {
|
|
4
|
+
it('should return balanced production defaults', () => {
|
|
5
|
+
const result = productionSearchSettings();
|
|
6
|
+
expect(result).toMatchInlineSnapshot(`
|
|
7
|
+
{
|
|
8
|
+
"number_of_replicas": 1,
|
|
9
|
+
"refresh_interval": "5s",
|
|
10
|
+
}
|
|
11
|
+
`);
|
|
12
|
+
});
|
|
13
|
+
it('should allow overriding defaults', () => {
|
|
14
|
+
const result = productionSearchSettings({
|
|
15
|
+
number_of_replicas: 2,
|
|
16
|
+
refresh_interval: '10s'
|
|
17
|
+
});
|
|
18
|
+
expect(result).toMatchInlineSnapshot(`
|
|
19
|
+
{
|
|
20
|
+
"number_of_replicas": 2,
|
|
21
|
+
"refresh_interval": "10s",
|
|
22
|
+
}
|
|
23
|
+
`);
|
|
24
|
+
});
|
|
25
|
+
it('should allow adding codec compression', () => {
|
|
26
|
+
const result = productionSearchSettings({ codec: 'best_compression' });
|
|
27
|
+
expect(result).toMatchInlineSnapshot(`
|
|
28
|
+
{
|
|
29
|
+
"codec": "best_compression",
|
|
30
|
+
"number_of_replicas": 1,
|
|
31
|
+
"refresh_interval": "5s",
|
|
32
|
+
}
|
|
33
|
+
`);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('indexSortSettings', () => {
|
|
37
|
+
it('should generate sort config from a single field', () => {
|
|
38
|
+
const result = indexSortSettings({ timestamp: 'desc' });
|
|
39
|
+
expect(result).toMatchInlineSnapshot(`
|
|
40
|
+
{
|
|
41
|
+
"sort": {
|
|
42
|
+
"field": [
|
|
43
|
+
"timestamp",
|
|
44
|
+
],
|
|
45
|
+
"order": [
|
|
46
|
+
"desc",
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
}
|
|
50
|
+
`);
|
|
51
|
+
});
|
|
52
|
+
it('should generate sort config from multiple fields', () => {
|
|
53
|
+
const result = indexSortSettings({
|
|
54
|
+
timestamp: 'desc',
|
|
55
|
+
status: 'asc',
|
|
56
|
+
priority: 'desc'
|
|
57
|
+
});
|
|
58
|
+
expect(result).toMatchInlineSnapshot(`
|
|
59
|
+
{
|
|
60
|
+
"sort": {
|
|
61
|
+
"field": [
|
|
62
|
+
"timestamp",
|
|
63
|
+
"status",
|
|
64
|
+
"priority",
|
|
65
|
+
],
|
|
66
|
+
"order": [
|
|
67
|
+
"desc",
|
|
68
|
+
"asc",
|
|
69
|
+
"desc",
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
}
|
|
73
|
+
`);
|
|
74
|
+
});
|
|
75
|
+
it('should compose with other settings via spread', () => {
|
|
76
|
+
const result = {
|
|
77
|
+
...productionSearchSettings(),
|
|
78
|
+
index: indexSortSettings({ timestamp: 'desc' })
|
|
79
|
+
};
|
|
80
|
+
expect(result).toMatchInlineSnapshot(`
|
|
81
|
+
{
|
|
82
|
+
"index": {
|
|
83
|
+
"sort": {
|
|
84
|
+
"field": [
|
|
85
|
+
"timestamp",
|
|
86
|
+
],
|
|
87
|
+
"order": [
|
|
88
|
+
"desc",
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
"number_of_replicas": 1,
|
|
93
|
+
"refresh_interval": "5s",
|
|
94
|
+
}
|
|
95
|
+
`);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('fastIngestSettings', () => {
|
|
99
|
+
it('should return optimized settings for bulk ingestion', () => {
|
|
100
|
+
const result = fastIngestSettings();
|
|
101
|
+
expect(result).toMatchInlineSnapshot(`
|
|
102
|
+
{
|
|
103
|
+
"number_of_replicas": 0,
|
|
104
|
+
"refresh_interval": "-1",
|
|
105
|
+
"translog": {
|
|
106
|
+
"durability": "async",
|
|
107
|
+
"sync_interval": "30s",
|
|
108
|
+
},
|
|
109
|
+
}
|
|
110
|
+
`);
|
|
111
|
+
});
|
|
112
|
+
it('should allow overriding defaults', () => {
|
|
113
|
+
const result = fastIngestSettings({ number_of_replicas: 1 });
|
|
114
|
+
expect(result).toMatchInlineSnapshot(`
|
|
115
|
+
{
|
|
116
|
+
"number_of_replicas": 1,
|
|
117
|
+
"refresh_interval": "-1",
|
|
118
|
+
"translog": {
|
|
119
|
+
"durability": "async",
|
|
120
|
+
"sync_interval": "30s",
|
|
121
|
+
},
|
|
122
|
+
}
|
|
123
|
+
`);
|
|
124
|
+
});
|
|
125
|
+
it('should allow adding extra settings', () => {
|
|
126
|
+
const result = fastIngestSettings({ number_of_shards: 3 });
|
|
127
|
+
expect(result).toMatchInlineSnapshot(`
|
|
128
|
+
{
|
|
129
|
+
"number_of_replicas": 0,
|
|
130
|
+
"number_of_shards": 3,
|
|
131
|
+
"refresh_interval": "-1",
|
|
132
|
+
"translog": {
|
|
133
|
+
"durability": "async",
|
|
134
|
+
"sync_interval": "30s",
|
|
135
|
+
},
|
|
136
|
+
}
|
|
137
|
+
`);
|
|
138
|
+
});
|
|
139
|
+
it('should deep-merge translog overrides without clobbering defaults', () => {
|
|
140
|
+
const result = fastIngestSettings({ translog: { durability: 'request' } });
|
|
141
|
+
expect(result).toMatchInlineSnapshot(`
|
|
142
|
+
{
|
|
143
|
+
"number_of_replicas": 0,
|
|
144
|
+
"refresh_interval": "-1",
|
|
145
|
+
"translog": {
|
|
146
|
+
"durability": "request",
|
|
147
|
+
"sync_interval": "30s",
|
|
148
|
+
},
|
|
149
|
+
}
|
|
150
|
+
`);
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
describe('Preset integration with indexBuilder', () => {
|
|
154
|
+
it('should work with indexBuilder().settings()', () => {
|
|
155
|
+
const result = indexBuilder().settings(productionSearchSettings()).build();
|
|
156
|
+
expect(result).toMatchInlineSnapshot(`
|
|
157
|
+
{
|
|
158
|
+
"settings": {
|
|
159
|
+
"number_of_replicas": 1,
|
|
160
|
+
"refresh_interval": "5s",
|
|
161
|
+
},
|
|
162
|
+
}
|
|
163
|
+
`);
|
|
164
|
+
});
|
|
165
|
+
it('should allow spreading presets with additional settings', () => {
|
|
166
|
+
const result = indexBuilder()
|
|
167
|
+
.settings({
|
|
168
|
+
...productionSearchSettings(),
|
|
169
|
+
number_of_shards: 3
|
|
170
|
+
})
|
|
171
|
+
.build();
|
|
172
|
+
expect(result).toMatchInlineSnapshot(`
|
|
173
|
+
{
|
|
174
|
+
"settings": {
|
|
175
|
+
"number_of_replicas": 1,
|
|
176
|
+
"number_of_shards": 3,
|
|
177
|
+
"refresh_interval": "5s",
|
|
178
|
+
},
|
|
179
|
+
}
|
|
180
|
+
`);
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggester.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/suggester.test.ts"],"names":[],"mappings":""}
|