import type { VendorConfig } from '../types'; import { SHARED_SEARCH_KEYWORDS, SHARED_SQL_AGGREGATES, SHARED_SQL_KEYWORDS, SHARED_SQL_SCALARS } from './shared'; const clsConfig: VendorConfig = { id: 'cls', label: '腾讯云 CLS', searchKeywords: SHARED_SEARCH_KEYWORDS, searchBuiltinFields: [ { name: '__FILENAME__', detail: '日志路径', doc: 'CLS 内置字段:日志文件路径' }, { name: '__HOSTNAME__', detail: '主机名', doc: 'CLS 内置字段:采集主机名' }, { name: '__SOURCE__', detail: '日志来源', doc: 'CLS 内置字段:日志来源 IP' }, { name: '__TIMESTAMP__', detail: '时间戳', doc: 'CLS 内置字段:日志时间戳(毫秒)' }, { name: '__CONTENT__', detail: '原始内容', doc: 'CLS 内置字段:原始日志内容' }, ], fieldAssignOperators: [':'], sqlKeywords: Array.from(new Set([...SHARED_SQL_KEYWORDS, 'OVER', 'PARTITION', 'WINDOW', 'EXISTS'])), sqlFunctions: [ ...SHARED_SQL_AGGREGATES, ...SHARED_SQL_SCALARS, { name: 'count_if', signature: 'count_if(condition)', doc: 'CLS:满足条件的行数' }, { name: 'approx_distinct', signature: 'approx_distinct(field)', doc: 'CLS:近似去重计数' }, { name: 'approx_percentile', signature: 'approx_percentile(field, percent)', doc: 'CLS:近似分位数' }, { name: 'histogram', signature: 'histogram(field)', doc: 'CLS:值分布直方图' }, { name: 'numeric_histogram', signature: 'numeric_histogram(buckets, field)', doc: 'CLS:数值直方图' }, { name: 'date_trunc', signature: 'date_trunc(unit, time)', doc: 'CLS:时间截断' }, { name: 'date_format', signature: 'date_format(time, format)', doc: 'CLS:时间格式化' }, { name: 'from_unixtime', signature: 'from_unixtime(unixtime)', doc: 'CLS:unix 时间转日期' }, { name: 'regexp_like', signature: 'regexp_like(str, pattern)', doc: 'CLS:正则匹配判断' }, { name: 'regexp_extract', signature: 'regexp_extract(str, pattern[, group])', doc: 'CLS:正则提取' }, { name: 'split_part', signature: 'split_part(str, delimiter, idx)', doc: 'CLS:字符串切分取第 idx 段' }, { name: 'json_extract', signature: 'json_extract(json, path)', doc: 'CLS:JSON 路径取值' }, ], }; export default clsConfig;