@terascope/data-types 2.15.0 → 2.16.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.
- package/dist/src/data-type.d.ts +55 -1
- package/dist/src/data-type.d.ts.map +1 -1
- package/dist/src/data-type.js +55 -1
- package/dist/src/data-type.js.map +1 -1
- package/dist/src/types/base-type.d.ts +29 -0
- package/dist/src/types/base-type.d.ts.map +1 -1
- package/dist/src/types/base-type.js +29 -0
- package/dist/src/types/base-type.js.map +1 -1
- package/dist/src/types/group-type.d.ts +25 -0
- package/dist/src/types/group-type.d.ts.map +1 -1
- package/dist/src/types/group-type.js +25 -0
- package/dist/src/types/group-type.js.map +1 -1
- package/dist/src/types/tuple-type.d.ts +34 -0
- package/dist/src/types/tuple-type.d.ts.map +1 -1
- package/dist/src/types/tuple-type.js +34 -0
- package/dist/src/types/tuple-type.js.map +1 -1
- package/dist/src/types/v1/any.d.ts +26 -0
- package/dist/src/types/v1/any.d.ts.map +1 -1
- package/dist/src/types/v1/any.js +26 -0
- package/dist/src/types/v1/any.js.map +1 -1
- package/dist/src/types/v1/binary.d.ts +24 -0
- package/dist/src/types/v1/binary.d.ts.map +1 -1
- package/dist/src/types/v1/binary.js +24 -0
- package/dist/src/types/v1/binary.js.map +1 -1
- package/dist/src/types/v1/boolean.d.ts +14 -0
- package/dist/src/types/v1/boolean.d.ts.map +1 -1
- package/dist/src/types/v1/boolean.js +14 -0
- package/dist/src/types/v1/boolean.js.map +1 -1
- package/dist/src/types/v1/boundary.d.ts +21 -0
- package/dist/src/types/v1/boundary.d.ts.map +1 -1
- package/dist/src/types/v1/boundary.js +21 -0
- package/dist/src/types/v1/boundary.js.map +1 -1
- package/dist/src/types/v1/byte.d.ts +18 -0
- package/dist/src/types/v1/byte.d.ts.map +1 -1
- package/dist/src/types/v1/byte.js +18 -0
- package/dist/src/types/v1/byte.js.map +1 -1
- package/dist/src/types/v1/date.d.ts +19 -0
- package/dist/src/types/v1/date.d.ts.map +1 -1
- package/dist/src/types/v1/date.js +19 -0
- package/dist/src/types/v1/date.js.map +1 -1
- package/dist/src/types/v1/domain.d.ts +24 -0
- package/dist/src/types/v1/domain.d.ts.map +1 -1
- package/dist/src/types/v1/domain.js +24 -0
- package/dist/src/types/v1/domain.js.map +1 -1
- package/dist/src/types/v1/double.d.ts +15 -0
- package/dist/src/types/v1/double.d.ts.map +1 -1
- package/dist/src/types/v1/double.js +15 -0
- package/dist/src/types/v1/double.js.map +1 -1
- package/dist/src/types/v1/float.d.ts +17 -0
- package/dist/src/types/v1/float.d.ts.map +1 -1
- package/dist/src/types/v1/float.js +17 -0
- package/dist/src/types/v1/float.js.map +1 -1
- package/dist/src/types/v1/geo-json.d.ts +18 -0
- package/dist/src/types/v1/geo-json.d.ts.map +1 -1
- package/dist/src/types/v1/geo-json.js +18 -0
- package/dist/src/types/v1/geo-json.js.map +1 -1
- package/dist/src/types/v1/geo-point.d.ts +19 -0
- package/dist/src/types/v1/geo-point.d.ts.map +1 -1
- package/dist/src/types/v1/geo-point.js +19 -0
- package/dist/src/types/v1/geo-point.js.map +1 -1
- package/dist/src/types/v1/geo.d.ts +20 -0
- package/dist/src/types/v1/geo.d.ts.map +1 -1
- package/dist/src/types/v1/geo.js +20 -1
- package/dist/src/types/v1/geo.js.map +1 -1
- package/dist/src/types/v1/hostname.d.ts +20 -0
- package/dist/src/types/v1/hostname.d.ts.map +1 -1
- package/dist/src/types/v1/hostname.js +20 -0
- package/dist/src/types/v1/hostname.js.map +1 -1
- package/dist/src/types/v1/integer.d.ts +18 -0
- package/dist/src/types/v1/integer.d.ts.map +1 -1
- package/dist/src/types/v1/integer.js +18 -0
- package/dist/src/types/v1/integer.js.map +1 -1
- package/dist/src/types/v1/ip-range.d.ts +16 -0
- package/dist/src/types/v1/ip-range.d.ts.map +1 -1
- package/dist/src/types/v1/ip-range.js +16 -0
- package/dist/src/types/v1/ip-range.js.map +1 -1
- package/dist/src/types/v1/ip.d.ts +15 -0
- package/dist/src/types/v1/ip.d.ts.map +1 -1
- package/dist/src/types/v1/ip.js +15 -0
- package/dist/src/types/v1/ip.js.map +1 -1
- package/dist/src/types/v1/keyword-case-insensitive.d.ts +23 -0
- package/dist/src/types/v1/keyword-case-insensitive.d.ts.map +1 -1
- package/dist/src/types/v1/keyword-case-insensitive.js +23 -0
- package/dist/src/types/v1/keyword-case-insensitive.js.map +1 -1
- package/dist/src/types/v1/keyword-path-analyzer.d.ts +19 -0
- package/dist/src/types/v1/keyword-path-analyzer.d.ts.map +1 -1
- package/dist/src/types/v1/keyword-path-analyzer.js +19 -0
- package/dist/src/types/v1/keyword-path-analyzer.js.map +1 -1
- package/dist/src/types/v1/keyword-tokens-case-insensitive.d.ts +20 -0
- package/dist/src/types/v1/keyword-tokens-case-insensitive.d.ts.map +1 -1
- package/dist/src/types/v1/keyword-tokens-case-insensitive.js +20 -0
- package/dist/src/types/v1/keyword-tokens-case-insensitive.js.map +1 -1
- package/dist/src/types/v1/keyword-tokens.d.ts +18 -0
- package/dist/src/types/v1/keyword-tokens.d.ts.map +1 -1
- package/dist/src/types/v1/keyword-tokens.js +18 -0
- package/dist/src/types/v1/keyword-tokens.js.map +1 -1
- package/dist/src/types/v1/keyword.d.ts +20 -0
- package/dist/src/types/v1/keyword.d.ts.map +1 -1
- package/dist/src/types/v1/keyword.js +20 -0
- package/dist/src/types/v1/keyword.js.map +1 -1
- package/dist/src/types/v1/long.d.ts +19 -0
- package/dist/src/types/v1/long.d.ts.map +1 -1
- package/dist/src/types/v1/long.js +19 -0
- package/dist/src/types/v1/long.js.map +1 -1
- package/dist/src/types/v1/ngram-tokens.d.ts +21 -0
- package/dist/src/types/v1/ngram-tokens.d.ts.map +1 -1
- package/dist/src/types/v1/ngram-tokens.js +21 -0
- package/dist/src/types/v1/ngram-tokens.js.map +1 -1
- package/dist/src/types/v1/number.d.ts +20 -0
- package/dist/src/types/v1/number.d.ts.map +1 -1
- package/dist/src/types/v1/number.js +20 -0
- package/dist/src/types/v1/number.js.map +1 -1
- package/dist/src/types/v1/object.d.ts +18 -0
- package/dist/src/types/v1/object.d.ts.map +1 -1
- package/dist/src/types/v1/object.js +18 -0
- package/dist/src/types/v1/object.js.map +1 -1
- package/dist/src/types/v1/short.d.ts +17 -0
- package/dist/src/types/v1/short.d.ts.map +1 -1
- package/dist/src/types/v1/short.js +17 -0
- package/dist/src/types/v1/short.js.map +1 -1
- package/dist/src/types/v1/string.d.ts +19 -0
- package/dist/src/types/v1/string.d.ts.map +1 -1
- package/dist/src/types/v1/string.js +19 -0
- package/dist/src/types/v1/string.js.map +1 -1
- package/dist/src/types/v1/text.d.ts +17 -0
- package/dist/src/types/v1/text.d.ts.map +1 -1
- package/dist/src/types/v1/text.js +17 -0
- package/dist/src/types/v1/text.js.map +1 -1
- package/dist/src/types/v1/vector.d.ts +38 -0
- package/dist/src/types/v1/vector.d.ts.map +1 -1
- package/dist/src/types/v1/vector.js +38 -0
- package/dist/src/types/v1/vector.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* An exact-match string stored as an Elasticsearch/OpenSearch `keyword`. The
|
|
6
|
+
* value is indexed verbatim (not analyzed), so it is suited to filtering,
|
|
7
|
+
* sorting, and aggregations rather than full-text search.
|
|
8
|
+
*
|
|
9
|
+
* - **ES/OpenSearch mapping:** `{ type: 'keyword' }`. Honors `indexed: false`
|
|
10
|
+
* (emitted as `index: false`).
|
|
11
|
+
* - **GraphQL:** `String`, except when the field is named `_key`, which maps
|
|
12
|
+
* to the `ID` scalar so it can serve as a record's identity.
|
|
13
|
+
* - **xLucene:** `String`.
|
|
14
|
+
*
|
|
15
|
+
* Use `Text` when you need analyzed full-text search, or one of the
|
|
16
|
+
* `Keyword*` analyzer variants for case-insensitive / tokenized matching.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const config: DataTypeConfig = {
|
|
20
|
+
* version: 1,
|
|
21
|
+
* fields: { status: { type: 'Keyword' } }
|
|
22
|
+
* };
|
|
23
|
+
*/
|
|
4
24
|
export default class Keyword extends BaseType {
|
|
5
25
|
toESMapping(): TypeESMapping;
|
|
6
26
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/keyword.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,QAAQ;IACzC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAOxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"keyword.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/keyword.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,QAAQ;IACzC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAOxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* An exact-match string stored as an Elasticsearch/OpenSearch `keyword`. The
|
|
5
|
+
* value is indexed verbatim (not analyzed), so it is suited to filtering,
|
|
6
|
+
* sorting, and aggregations rather than full-text search.
|
|
7
|
+
*
|
|
8
|
+
* - **ES/OpenSearch mapping:** `{ type: 'keyword' }`. Honors `indexed: false`
|
|
9
|
+
* (emitted as `index: false`).
|
|
10
|
+
* - **GraphQL:** `String`, except when the field is named `_key`, which maps
|
|
11
|
+
* to the `ID` scalar so it can serve as a record's identity.
|
|
12
|
+
* - **xLucene:** `String`.
|
|
13
|
+
*
|
|
14
|
+
* Use `Text` when you need analyzed full-text search, or one of the
|
|
15
|
+
* `Keyword*` analyzer variants for case-insensitive / tokenized matching.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const config: DataTypeConfig = {
|
|
19
|
+
* version: 1,
|
|
20
|
+
* fields: { status: { type: 'Keyword' } }
|
|
21
|
+
* };
|
|
22
|
+
*/
|
|
3
23
|
export default class Keyword extends BaseType {
|
|
4
24
|
toESMapping() {
|
|
5
25
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../../src/types/v1/keyword.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,QAAQ;IACzC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,SAAwB,EAAE,CAAC;QAEjE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../../src/types/v1/keyword.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,QAAQ;IACzC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,SAAwB,EAAE,CAAC;QAEjE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A whole number stored as an Elasticsearch/OpenSearch `long`
|
|
6
|
+
* (64-bit signed integer).
|
|
7
|
+
*
|
|
8
|
+
* - **ES/OpenSearch mapping:** `{ type: 'long' }`. Honors `indexed: false`
|
|
9
|
+
* (emitted as `index: false`).
|
|
10
|
+
* - **GraphQL:** `Float`, **not** `Int`. The GraphQL `Int` scalar is only
|
|
11
|
+
* 32-bit, so it cannot represent the full `long` range; `Float` is used to
|
|
12
|
+
* avoid overflow. Note that IEEE-754 doubles lose integer precision above
|
|
13
|
+
* 2^53, so very large `long` values may not round-trip exactly through
|
|
14
|
+
* GraphQL.
|
|
15
|
+
* - **xLucene:** `Integer`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const config: DataTypeConfig = {
|
|
19
|
+
* version: 1,
|
|
20
|
+
* fields: { bytes_transferred: { type: 'Long' } }
|
|
21
|
+
* };
|
|
22
|
+
*/
|
|
4
23
|
export default class Long extends BaseType {
|
|
5
24
|
toESMapping(): TypeESMapping;
|
|
6
25
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"long.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/long.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"long.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/long.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* A whole number stored as an Elasticsearch/OpenSearch `long`
|
|
5
|
+
* (64-bit signed integer).
|
|
6
|
+
*
|
|
7
|
+
* - **ES/OpenSearch mapping:** `{ type: 'long' }`. Honors `indexed: false`
|
|
8
|
+
* (emitted as `index: false`).
|
|
9
|
+
* - **GraphQL:** `Float`, **not** `Int`. The GraphQL `Int` scalar is only
|
|
10
|
+
* 32-bit, so it cannot represent the full `long` range; `Float` is used to
|
|
11
|
+
* avoid overflow. Note that IEEE-754 doubles lose integer precision above
|
|
12
|
+
* 2^53, so very large `long` values may not round-trip exactly through
|
|
13
|
+
* GraphQL.
|
|
14
|
+
* - **xLucene:** `Integer`.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const config: DataTypeConfig = {
|
|
18
|
+
* version: 1,
|
|
19
|
+
* fields: { bytes_transferred: { type: 'Long' } }
|
|
20
|
+
* };
|
|
21
|
+
*/
|
|
3
22
|
export default class Long extends BaseType {
|
|
4
23
|
toESMapping() {
|
|
5
24
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"long.js","sourceRoot":"","sources":["../../../../src/types/v1/long.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,MAAqB,EAAE,CAAC;QAE9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"long.js","sourceRoot":"","sources":["../../../../src/types/v1/long.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,MAAqB,EAAE,CAAC;QAE9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;CACJ"}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A keyword that supports substring matching via n-grams. The base value is
|
|
6
|
+
* an exact `keyword`, and a `tokens` sub-field is analyzed with a custom
|
|
7
|
+
* `ngram_analyzer` that emits fixed 3-character n-grams over digits only.
|
|
8
|
+
*
|
|
9
|
+
* - **ES/OpenSearch mapping:** `{ type: 'keyword', fields: { tokens: { type:
|
|
10
|
+
* 'text', analyzer: 'ngram_analyzer' } } }`, plus the custom `analyzer`
|
|
11
|
+
* (`ngram_analyzer`) and `tokenizer` (`ngram_tokenizer`, type `ngram`,
|
|
12
|
+
* `min_gram: 3`, `max_gram: 3`, `token_chars: ['digit']`) definitions.
|
|
13
|
+
* - **GraphQL:** `String`.
|
|
14
|
+
* - **xLucene:** `String`.
|
|
15
|
+
*
|
|
16
|
+
* The tokenizer only grams digit characters, so this is aimed at numeric
|
|
17
|
+
* strings (e.g. phone numbers, account numbers) rather than arbitrary text.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const config: DataTypeConfig = {
|
|
21
|
+
* version: 1,
|
|
22
|
+
* fields: { phone: { type: 'NgramTokens' } }
|
|
23
|
+
* };
|
|
24
|
+
*/
|
|
4
25
|
export default class NgramTokens extends BaseType {
|
|
5
26
|
toESMapping(): TypeESMapping;
|
|
6
27
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngram-tokens.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/ngram-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW,IAAI,aAAa;IA8B5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"ngram-tokens.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/ngram-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW,IAAI,aAAa;IA8B5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* A keyword that supports substring matching via n-grams. The base value is
|
|
5
|
+
* an exact `keyword`, and a `tokens` sub-field is analyzed with a custom
|
|
6
|
+
* `ngram_analyzer` that emits fixed 3-character n-grams over digits only.
|
|
7
|
+
*
|
|
8
|
+
* - **ES/OpenSearch mapping:** `{ type: 'keyword', fields: { tokens: { type:
|
|
9
|
+
* 'text', analyzer: 'ngram_analyzer' } } }`, plus the custom `analyzer`
|
|
10
|
+
* (`ngram_analyzer`) and `tokenizer` (`ngram_tokenizer`, type `ngram`,
|
|
11
|
+
* `min_gram: 3`, `max_gram: 3`, `token_chars: ['digit']`) definitions.
|
|
12
|
+
* - **GraphQL:** `String`.
|
|
13
|
+
* - **xLucene:** `String`.
|
|
14
|
+
*
|
|
15
|
+
* The tokenizer only grams digit characters, so this is aimed at numeric
|
|
16
|
+
* strings (e.g. phone numbers, account numbers) rather than arbitrary text.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const config: DataTypeConfig = {
|
|
20
|
+
* version: 1,
|
|
21
|
+
* fields: { phone: { type: 'NgramTokens' } }
|
|
22
|
+
* };
|
|
23
|
+
*/
|
|
3
24
|
export default class NgramTokens extends BaseType {
|
|
4
25
|
toESMapping() {
|
|
5
26
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngram-tokens.js","sourceRoot":"","sources":["../../../../src/types/v1/ngram-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkC,MAAM,kBAAkB,CAAC;AACpF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACV,IAAI,EAAE,SAAwB;oBAC9B,MAAM,EAAE;wBACJ,MAAM,EAAE;4BACJ,IAAI,EAAE,MAAqB;4BAC3B,QAAQ,EAAE,gBAAgB;yBAC7B;qBACJ;iBACJ;aACJ;YACD,QAAQ,EAAE;gBACN,cAAc,EAAE;oBACZ,SAAS,EAAE,iBAAiB;iBAC/B;aACJ;YACD,SAAS,EAAE;gBACP,eAAe,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;oBACX,WAAW,EAAE,CAAC,OAAO,CAAC;iBACzB;aACJ;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"ngram-tokens.js","sourceRoot":"","sources":["../../../../src/types/v1/ngram-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkC,MAAM,kBAAkB,CAAC;AACpF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACV,IAAI,EAAE,SAAwB;oBAC9B,MAAM,EAAE;wBACJ,MAAM,EAAE;4BACJ,IAAI,EAAE,MAAqB;4BAC3B,QAAQ,EAAE,gBAAgB;yBAC7B;qBACJ;iBACJ;aACJ;YACD,QAAQ,EAAE;gBACN,cAAc,EAAE;oBACZ,SAAS,EAAE,iBAAiB;iBAC/B;aACJ;YACD,SAAS,EAAE;gBACP,eAAe,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;oBACX,WAAW,EAAE,CAAC,OAAO,CAAC;iBACzB;aACJ;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A general-purpose numeric field for when the exact numeric width is not
|
|
6
|
+
* important. Stored as an Elasticsearch/OpenSearch `double`.
|
|
7
|
+
*
|
|
8
|
+
* - **ES/OpenSearch mapping:** `{ type: 'double' }`. Honors `indexed: false`
|
|
9
|
+
* (emitted as `index: false`).
|
|
10
|
+
* - **GraphQL:** `Float`. Because the value is a `double`, integers above
|
|
11
|
+
* 2^53 may lose precision when round-tripped through GraphQL.
|
|
12
|
+
* - **xLucene:** `Number` (a distribution-agnostic numeric type, unlike the
|
|
13
|
+
* more specific `Integer`/`Float` used by the fixed-width numeric types).
|
|
14
|
+
*
|
|
15
|
+
* Prefer a specific numeric type (`Integer`, `Long`, `Float`, `Double`) when
|
|
16
|
+
* you know the width and want a tighter ES mapping.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const config: DataTypeConfig = {
|
|
20
|
+
* version: 1,
|
|
21
|
+
* fields: { score: { type: 'Number' } }
|
|
22
|
+
* };
|
|
23
|
+
*/
|
|
4
24
|
export default class NumberClass extends BaseType {
|
|
5
25
|
toESMapping(): TypeESMapping;
|
|
6
26
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* A general-purpose numeric field for when the exact numeric width is not
|
|
5
|
+
* important. Stored as an Elasticsearch/OpenSearch `double`.
|
|
6
|
+
*
|
|
7
|
+
* - **ES/OpenSearch mapping:** `{ type: 'double' }`. Honors `indexed: false`
|
|
8
|
+
* (emitted as `index: false`).
|
|
9
|
+
* - **GraphQL:** `Float`. Because the value is a `double`, integers above
|
|
10
|
+
* 2^53 may lose precision when round-tripped through GraphQL.
|
|
11
|
+
* - **xLucene:** `Number` (a distribution-agnostic numeric type, unlike the
|
|
12
|
+
* more specific `Integer`/`Float` used by the fixed-width numeric types).
|
|
13
|
+
*
|
|
14
|
+
* Prefer a specific numeric type (`Integer`, `Long`, `Float`, `Double`) when
|
|
15
|
+
* you know the width and want a tighter ES mapping.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const config: DataTypeConfig = {
|
|
19
|
+
* version: 1,
|
|
20
|
+
* fields: { score: { type: 'Number' } }
|
|
21
|
+
* };
|
|
22
|
+
*/
|
|
3
23
|
export default class NumberClass extends BaseType {
|
|
4
24
|
toESMapping() {
|
|
5
25
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/types/v1/number.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,QAAuB,EAAE,CAAC;QAEhE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/types/v1/number.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,QAAuB,EAAE,CAAC;QAEhE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A nested JSON object.
|
|
6
|
+
*
|
|
7
|
+
* - **ES/OpenSearch mapping:** `{ type: 'object' }`, or `{ type: 'nested' }`
|
|
8
|
+
* when `array: true`. The `nested` type preserves the independence of each
|
|
9
|
+
* array element for querying (an `object` array flattens its values). When
|
|
10
|
+
* `indexed: false` the object is disabled via `enabled: false` (not
|
|
11
|
+
* `index: false`).
|
|
12
|
+
* - **GraphQL:** a `JSONObject` custom scalar (the `scalar JSONObject`
|
|
13
|
+
* definition is emitted alongside the field).
|
|
14
|
+
* - **xLucene:** `Object`.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const config: DataTypeConfig = {
|
|
18
|
+
* version: 1,
|
|
19
|
+
* fields: { metadata: { type: 'Object' } }
|
|
20
|
+
* };
|
|
21
|
+
*/
|
|
4
22
|
export default class ObjectType extends BaseType {
|
|
5
23
|
toESMapping(): TypeESMapping;
|
|
6
24
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,WAAW,IAAI,aAAa;IAa5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,WAAW,IAAI,aAAa;IAa5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* A nested JSON object.
|
|
5
|
+
*
|
|
6
|
+
* - **ES/OpenSearch mapping:** `{ type: 'object' }`, or `{ type: 'nested' }`
|
|
7
|
+
* when `array: true`. The `nested` type preserves the independence of each
|
|
8
|
+
* array element for querying (an `object` array flattens its values). When
|
|
9
|
+
* `indexed: false` the object is disabled via `enabled: false` (not
|
|
10
|
+
* `index: false`).
|
|
11
|
+
* - **GraphQL:** a `JSONObject` custom scalar (the `scalar JSONObject`
|
|
12
|
+
* definition is emitted alongside the field).
|
|
13
|
+
* - **xLucene:** `Object`.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const config: DataTypeConfig = {
|
|
17
|
+
* version: 1,
|
|
18
|
+
* fields: { metadata: { type: 'Object' } }
|
|
19
|
+
* };
|
|
20
|
+
*/
|
|
3
21
|
export default class ObjectType extends BaseType {
|
|
4
22
|
toESMapping() {
|
|
5
23
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/types/v1/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,kBAAkB,CAAC;AACtF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrD,MAAM,UAAU,GAAkB,EAAE,IAAI,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAChC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC;IACrD,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../src/types/v1/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAoC,MAAM,kBAAkB,CAAC;AACtF,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrD,MAAM,UAAU,GAAkB,EAAE,IAAI,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAChC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC;IACrD,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A whole number stored as an Elasticsearch/OpenSearch `short`
|
|
6
|
+
* (16-bit signed integer, -32,768 to 32,767).
|
|
7
|
+
*
|
|
8
|
+
* - **ES/OpenSearch mapping:** `{ type: 'short' }`. Honors `indexed: false`
|
|
9
|
+
* (emitted as `index: false`).
|
|
10
|
+
* - **GraphQL:** `Int`.
|
|
11
|
+
* - **xLucene:** `Integer`.
|
|
12
|
+
*
|
|
13
|
+
* Use `Integer` or `Long` for values outside the 16-bit range.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const config: DataTypeConfig = {
|
|
17
|
+
* version: 1,
|
|
18
|
+
* fields: { port_offset: { type: 'Short' } }
|
|
19
|
+
* };
|
|
20
|
+
*/
|
|
4
21
|
export default class Short extends BaseType {
|
|
5
22
|
toESMapping(): TypeESMapping;
|
|
6
23
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"short.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/short.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,QAAQ;IACvC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"short.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/short.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,QAAQ;IACvC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* A whole number stored as an Elasticsearch/OpenSearch `short`
|
|
5
|
+
* (16-bit signed integer, -32,768 to 32,767).
|
|
6
|
+
*
|
|
7
|
+
* - **ES/OpenSearch mapping:** `{ type: 'short' }`. Honors `indexed: false`
|
|
8
|
+
* (emitted as `index: false`).
|
|
9
|
+
* - **GraphQL:** `Int`.
|
|
10
|
+
* - **xLucene:** `Integer`.
|
|
11
|
+
*
|
|
12
|
+
* Use `Integer` or `Long` for values outside the 16-bit range.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const config: DataTypeConfig = {
|
|
16
|
+
* version: 1,
|
|
17
|
+
* fields: { port_offset: { type: 'Short' } }
|
|
18
|
+
* };
|
|
19
|
+
*/
|
|
3
20
|
export default class Short extends BaseType {
|
|
4
21
|
toESMapping() {
|
|
5
22
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"short.js","sourceRoot":"","sources":["../../../../src/types/v1/short.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,QAAQ;IACvC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,OAAsB,EAAE,CAAC;QAE/D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"short.js","sourceRoot":"","sources":["../../../../src/types/v1/short.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,QAAQ;IACvC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,OAAsB,EAAE,CAAC;QAE/D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;CACJ"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A general-purpose string. Behaves like {@link Keyword} — the value is
|
|
6
|
+
* stored as an Elasticsearch/OpenSearch `keyword` (exact match, not
|
|
7
|
+
* analyzed) — but always maps to the GraphQL `String` scalar, with no special
|
|
8
|
+
* handling for `_key`.
|
|
9
|
+
*
|
|
10
|
+
* - **ES/OpenSearch mapping:** `{ type: 'keyword' }`. Honors `indexed: false`
|
|
11
|
+
* (emitted as `index: false`).
|
|
12
|
+
* - **GraphQL:** `String`.
|
|
13
|
+
* - **xLucene:** `String`.
|
|
14
|
+
*
|
|
15
|
+
* Reach for `Text` when you need analyzed full-text search.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* const config: DataTypeConfig = {
|
|
19
|
+
* version: 1,
|
|
20
|
+
* fields: { name: { type: 'String' } }
|
|
21
|
+
* };
|
|
22
|
+
*/
|
|
4
23
|
export default class StringClass extends BaseType {
|
|
5
24
|
toESMapping(): TypeESMapping;
|
|
6
25
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* A general-purpose string. Behaves like {@link Keyword} — the value is
|
|
5
|
+
* stored as an Elasticsearch/OpenSearch `keyword` (exact match, not
|
|
6
|
+
* analyzed) — but always maps to the GraphQL `String` scalar, with no special
|
|
7
|
+
* handling for `_key`.
|
|
8
|
+
*
|
|
9
|
+
* - **ES/OpenSearch mapping:** `{ type: 'keyword' }`. Honors `indexed: false`
|
|
10
|
+
* (emitted as `index: false`).
|
|
11
|
+
* - **GraphQL:** `String`.
|
|
12
|
+
* - **xLucene:** `String`.
|
|
13
|
+
*
|
|
14
|
+
* Reach for `Text` when you need analyzed full-text search.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const config: DataTypeConfig = {
|
|
18
|
+
* version: 1,
|
|
19
|
+
* fields: { name: { type: 'String' } }
|
|
20
|
+
* };
|
|
21
|
+
*/
|
|
3
22
|
export default class StringClass extends BaseType {
|
|
4
23
|
toESMapping() {
|
|
5
24
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/types/v1/string.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,SAAwB,EAAE,CAAC;QAEjE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/types/v1/string.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAC7C,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,SAAwB,EAAE,CAAC;QAEjE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import { xLuceneTypeConfig } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A full-text string stored as an Elasticsearch/OpenSearch `text` field. The
|
|
6
|
+
* value is passed through the standard analyzer (tokenized, lowercased), so
|
|
7
|
+
* it supports full-text search but is **not** suited to exact-match filtering,
|
|
8
|
+
* sorting, or aggregations — use `Keyword` for those.
|
|
9
|
+
*
|
|
10
|
+
* - **ES/OpenSearch mapping:** `{ type: 'text' }`. Honors `indexed: false`
|
|
11
|
+
* (emitted as `index: false`).
|
|
12
|
+
* - **GraphQL:** `String`.
|
|
13
|
+
* - **xLucene:** `String`.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const config: DataTypeConfig = {
|
|
17
|
+
* version: 1,
|
|
18
|
+
* fields: { description: { type: 'Text' } }
|
|
19
|
+
* };
|
|
20
|
+
*/
|
|
4
21
|
export default class Text extends BaseType {
|
|
5
22
|
toESMapping(): TypeESMapping;
|
|
6
23
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAC4B,iBAAiB,EAEnD,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW,IAAI,aAAa;IAc5B,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import { xLuceneFieldType } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
|
+
/**
|
|
4
|
+
* A full-text string stored as an Elasticsearch/OpenSearch `text` field. The
|
|
5
|
+
* value is passed through the standard analyzer (tokenized, lowercased), so
|
|
6
|
+
* it supports full-text search but is **not** suited to exact-match filtering,
|
|
7
|
+
* sorting, or aggregations — use `Keyword` for those.
|
|
8
|
+
*
|
|
9
|
+
* - **ES/OpenSearch mapping:** `{ type: 'text' }`. Honors `indexed: false`
|
|
10
|
+
* (emitted as `index: false`).
|
|
11
|
+
* - **GraphQL:** `String`.
|
|
12
|
+
* - **xLucene:** `String`.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* const config: DataTypeConfig = {
|
|
16
|
+
* version: 1,
|
|
17
|
+
* fields: { description: { type: 'Text' } }
|
|
18
|
+
* };
|
|
19
|
+
*/
|
|
3
20
|
export default class Text extends BaseType {
|
|
4
21
|
toESMapping() {
|
|
5
22
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/types/v1/text.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,MAAqB,EAAE,CAAC;QAE9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/types/v1/text.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,QAAQ;IACtC,WAAW;QACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,MAAqB,EAAE,CAAC;QAE9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAExD,OAAO;YACH,OAAO,EAAE;gBACL,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM;aACvB;SACJ,CAAC;IACN,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,SAAS;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
import { xLuceneTypeConfig, ClientMetadata } from '@terascope/types';
|
|
2
2
|
import BaseType from '../base-type.js';
|
|
3
3
|
import { GraphQLType, TypeESMapping } from '../../interfaces.js';
|
|
4
|
+
/**
|
|
5
|
+
* A dense numeric vector for k-NN / similarity search, stored as an
|
|
6
|
+
* OpenSearch `knn_vector`.
|
|
7
|
+
*
|
|
8
|
+
* - **ES/OpenSearch mapping:** `{ type: 'knn_vector', dimension, method: {
|
|
9
|
+
* name, engine } }` plus a `settings` block enabling `index.knn: true`. The
|
|
10
|
+
* `space_type` is placed at the top level for OpenSearch major version >= 3
|
|
11
|
+
* and inside `method` for earlier versions.
|
|
12
|
+
* - **GraphQL:** `Float`.
|
|
13
|
+
* - **xLucene:** `Float`.
|
|
14
|
+
*
|
|
15
|
+
* Relevant `DataTypeFieldConfig` options:
|
|
16
|
+
* - `array` — **required**; a vector must be declared as an array.
|
|
17
|
+
* - `dimension` — **required**; must be an integer (the vector length).
|
|
18
|
+
* - `space_type` — distance metric; one of `l1`, `l2` (default), `linf`,
|
|
19
|
+
* `cosinesimil`, `innerproduct`, `hamming`, `hammingbit`.
|
|
20
|
+
* - `name` — algorithm; `hnsw` (default) or `ivf`.
|
|
21
|
+
* - `engine` — `faiss` (default) or `lucene`.
|
|
22
|
+
*
|
|
23
|
+
* Validation (throws from `toESMapping`):
|
|
24
|
+
* - OpenSearch < 2.10 is unsupported.
|
|
25
|
+
* - `array` must be `true`, `dimension` must be an integer, and `space_type`,
|
|
26
|
+
* `name`, and `engine` must each be valid.
|
|
27
|
+
* - `engine: 'lucene'` cannot be paired with `name: 'ivf'`.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* const config: DataTypeConfig = {
|
|
31
|
+
* version: 1,
|
|
32
|
+
* fields: {
|
|
33
|
+
* embedding: {
|
|
34
|
+
* type: 'Vector',
|
|
35
|
+
* array: true,
|
|
36
|
+
* dimension: 768,
|
|
37
|
+
* space_type: 'cosinesimil'
|
|
38
|
+
* }
|
|
39
|
+
* }
|
|
40
|
+
* };
|
|
41
|
+
*/
|
|
4
42
|
export default class VectorType extends BaseType {
|
|
5
43
|
toESMapping(config: ClientMetadata): TypeESMapping;
|
|
6
44
|
toGraphQL(): GraphQLType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/vector.ts"],"names":[],"mappings":"AAAA,OAAO,EACe,iBAAiB,EAAE,cAAc,EAEtD,MAAM,kBAAkB,CAAC;AAE1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa;IA0ElD,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../../../src/types/v1/vector.ts"],"names":[],"mappings":"AAAA,OAAO,EACe,iBAAiB,EAAE,cAAc,EAEtD,MAAM,kBAAkB,CAAC;AAE1B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa;IA0ElD,SAAS,IAAI,WAAW;IAIxB,SAAS,IAAI,iBAAiB;CAGjC"}
|
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
import { xLuceneFieldType, ElasticsearchDistribution } from '@terascope/types';
|
|
2
2
|
import { isInteger, isString } from '@terascope/core-utils';
|
|
3
3
|
import BaseType from '../base-type.js';
|
|
4
|
+
/**
|
|
5
|
+
* A dense numeric vector for k-NN / similarity search, stored as an
|
|
6
|
+
* OpenSearch `knn_vector`.
|
|
7
|
+
*
|
|
8
|
+
* - **ES/OpenSearch mapping:** `{ type: 'knn_vector', dimension, method: {
|
|
9
|
+
* name, engine } }` plus a `settings` block enabling `index.knn: true`. The
|
|
10
|
+
* `space_type` is placed at the top level for OpenSearch major version >= 3
|
|
11
|
+
* and inside `method` for earlier versions.
|
|
12
|
+
* - **GraphQL:** `Float`.
|
|
13
|
+
* - **xLucene:** `Float`.
|
|
14
|
+
*
|
|
15
|
+
* Relevant `DataTypeFieldConfig` options:
|
|
16
|
+
* - `array` — **required**; a vector must be declared as an array.
|
|
17
|
+
* - `dimension` — **required**; must be an integer (the vector length).
|
|
18
|
+
* - `space_type` — distance metric; one of `l1`, `l2` (default), `linf`,
|
|
19
|
+
* `cosinesimil`, `innerproduct`, `hamming`, `hammingbit`.
|
|
20
|
+
* - `name` — algorithm; `hnsw` (default) or `ivf`.
|
|
21
|
+
* - `engine` — `faiss` (default) or `lucene`.
|
|
22
|
+
*
|
|
23
|
+
* Validation (throws from `toESMapping`):
|
|
24
|
+
* - OpenSearch < 2.10 is unsupported.
|
|
25
|
+
* - `array` must be `true`, `dimension` must be an integer, and `space_type`,
|
|
26
|
+
* `name`, and `engine` must each be valid.
|
|
27
|
+
* - `engine: 'lucene'` cannot be paired with `name: 'ivf'`.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* const config: DataTypeConfig = {
|
|
31
|
+
* version: 1,
|
|
32
|
+
* fields: {
|
|
33
|
+
* embedding: {
|
|
34
|
+
* type: 'Vector',
|
|
35
|
+
* array: true,
|
|
36
|
+
* dimension: 768,
|
|
37
|
+
* space_type: 'cosinesimil'
|
|
38
|
+
* }
|
|
39
|
+
* }
|
|
40
|
+
* };
|
|
41
|
+
*/
|
|
4
42
|
export default class VectorType extends BaseType {
|
|
5
43
|
toESMapping(config) {
|
|
6
44
|
this._validateESMapping();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../src/types/v1/vector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../../src/types/v1/vector.ts"],"names":[],"mappings":"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"}
|