Skip to content

Commit 78c544d

Browse files
committed
fix: give indexRule default value
1 parent 987888a commit 78c544d

File tree

3 files changed

+28
-28
lines changed

3 files changed

+28
-28
lines changed

__tests__/cls/cls.test.ts

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,14 @@ describe('Scf Cls', () => {
1616
name: 'SCF_logset_zyIdCSDW',
1717
topic: 'SCF_logtopic_QExYJrDj',
1818
period: 7,
19-
rule: {
20-
full_text: {
21-
case_sensitive: true,
19+
indexRule: {
20+
fullText: {
21+
caseSensitive: true,
2222
tokenizer: '!@#%^&*()_="\', <>/?|\\;:\n\t\r[]{}',
2323
},
24-
key_value: {
25-
case_sensitive: true,
26-
keys: ['SCF_RetMsg'],
27-
types: ['text'],
28-
tokenizers: [' '],
24+
keyValue: {
25+
caseSensitive: true,
26+
keys: [{ key: 'SCF_RetMsg', type: 'text', tokenizer: '', sqlFlag: false }],
2927
},
3028
},
3129
};
@@ -75,16 +73,14 @@ describe('Normal Cls', () => {
7573
name: 'cls-test',
7674
topic: 'cls-topic-test',
7775
period: 7,
78-
rule: {
79-
full_text: {
80-
case_sensitive: true,
76+
indexRule: {
77+
fullText: {
78+
caseSensitive: true,
8179
tokenizer: '!@#%^&*()_="\', <>/?|\\;:\n\t\r[]{}',
8280
},
83-
key_value: {
84-
case_sensitive: true,
85-
keys: ['SCF_RetMsg'],
86-
types: ['text'],
87-
tokenizers: [' '],
81+
keyValue: {
82+
caseSensitive: true,
83+
keys: [{ key: 'SCF_RetMsg', type: 'text', sqlFlag: false }],
8884
},
8985
},
9086
};

src/modules/cls/index.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { dtz, TIME_FORMAT, Dayjs } from '../../utils/dayjs';
1616
import { createLogset, createTopic, updateIndex, getSearchSql } from './utils';
1717
import Alarm from './alarm';
1818
import { ClsDashboard } from './dashboard';
19+
import { deepClone } from '../../utils';
1920

2021
export default class Cls {
2122
credentials: CapiCredentials;
@@ -160,17 +161,20 @@ export default class Cls {
160161
let parsedKeyValue: any;
161162
if (fullText) {
162163
parsedFullText = {
163-
case_sensitive: fullText.caseSensitive,
164-
tokenizer: fullText.tokenizer,
164+
case_sensitive: fullText.caseSensitive ?? false,
165+
tokenizer: fullText.tokenizer ?? '',
165166
};
166-
parsedKeyValue = {
167+
}
168+
if (keyValue) {
169+
parsedKeyValue = deepClone({
167170
case_sensitive: keyValue?.caseSensitive!,
168-
keys: keyValue?.keys?.map((v) => v.key) ?? [],
169-
types: keyValue?.keys?.map((v) => v.type) ?? [],
170-
sql_flags: keyValue?.keys?.map((v) => v.sqlFlag) ?? [],
171-
tokenizers: keyValue?.keys.map((v) => v.tokenizer) ?? [],
172-
};
171+
keys: keyValue?.keys?.map((v) => v.key),
172+
types: keyValue?.keys?.map((v) => v.type ?? 'text'),
173+
sql_flags: keyValue?.keys?.map((v) => v.sqlFlag ?? true),
174+
tokenizers: keyValue?.keys.map((v) => v.tokenizer ?? ''),
175+
});
173176
}
177+
174178
try {
175179
await updateIndex(this.clsClient, {
176180
topicId: inputs.topicId!,

src/modules/cls/interface.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,16 +163,16 @@ export interface DeployIndexInputs {
163163
effective?: boolean;
164164
indexRule?: {
165165
fullText?: {
166-
caseSensitive: boolean;
167-
tokenizer: string;
166+
caseSensitive?: boolean;
167+
tokenizer?: string;
168168
};
169169
keyValue?: {
170170
caseSensitive: boolean;
171171
keys: {
172172
key: string;
173173
type: string;
174-
sqlFlag: boolean;
175-
tokenizer: string;
174+
sqlFlag?: boolean;
175+
tokenizer?: string;
176176
}[];
177177
};
178178
};

0 commit comments

Comments
 (0)