Skip to content

Commit 0edc771

Browse files
committed
Implement multi_delimiter analyzer
Fixes DE-753.
1 parent d611151 commit 0edc771

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ This driver uses semantic versioning:
3030
Active failover is no longer be supported in ArangoDB 3.12 and later. This
3131
functionality will be removed from the driver in a future release.
3232

33+
### Added
34+
35+
- Added support for `multi_delimiter` analyzer type (DE-753)
36+
3337
## [8.7.0] - 2024-02-14
3438

3539
### Changed

src/analyzer.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export type AnalyzerFeature = "frequency" | "norm" | "position" | "offset";
3333
export type CreateAnalyzerOptions =
3434
| CreateIdentityAnalyzerOptions
3535
| CreateDelimiterAnalyzerOptions
36+
| CreateMultiDelimiterAnalyzerOptions
3637
| CreateStemAnalyzerOptions
3738
| CreateNormAnalyzerOptions
3839
| CreateNgramAnalyzerOptions
@@ -90,6 +91,27 @@ export type CreateDelimiterAnalyzerOptions = {
9091
properties: string | { delimiter: string };
9192
};
9293

94+
/**
95+
* Options for creating a Multi-Delimiter Analyzer.
96+
*/
97+
export type CreateMultiDelimiterAnalyzerOptions = {
98+
/**
99+
* Type of the Analyzer.
100+
*/
101+
type: "multi_delimiter";
102+
/**
103+
* Features to enable for this Analyzer.
104+
*/
105+
features?: AnalyzerFeature[];
106+
/**
107+
* Additional properties for the Analyzer.
108+
*
109+
* The value will be used as delimiter to split text into tokens as specified
110+
* in RFC 4180, without starting new records on newlines.
111+
*/
112+
properties: { delimiters: string[] };
113+
};
114+
93115
/**
94116
* Options for creating a Stem Analyzer.
95117
*/
@@ -632,6 +654,7 @@ export type GenericAnalyzerDescription = {
632654
export type AnalyzerDescription =
633655
| IdentityAnalyzerDescription
634656
| DelimiterAnalyzerDescription
657+
| MultiDelimiterAnalyzerDescription
635658
| StemAnalyzerDescription
636659
| NormAnalyzerDescription
637660
| NgramAnalyzerDescription
@@ -664,6 +687,14 @@ export type DelimiterAnalyzerDescription = GenericAnalyzerDescription & {
664687
properties: { delimiter: string };
665688
};
666689

690+
/**
691+
* An object describing a Multi Delimiter Analyzer.
692+
*/
693+
export type MultiDelimiterAnalyzerDescription = GenericAnalyzerDescription & {
694+
type: "multi_delimiter";
695+
properties: { delimiters: string[] };
696+
};
697+
667698
/**
668699
* An object describing a Stem Analyzer.
669700
*/

0 commit comments

Comments
 (0)