mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 03:58:14 +00:00
(improvement)(project) support for modifying filter conditions and fix group by pushdown and add windows scipt (#49)
Co-authored-by: lexluo <lexluo@tencent.com>
This commit is contained in:
@@ -10,7 +10,7 @@ com.tencent.supersonic.chat.api.component.SemanticParser=\
|
||||
com.tencent.supersonic.chat.parser.rule.AgentCheckParser, \
|
||||
com.tencent.supersonic.chat.parser.rule.TimeRangeParser, \
|
||||
com.tencent.supersonic.chat.parser.rule.AggregateTypeParser, \
|
||||
com.tencent.supersonic.chat.parser.llm.dsl.LLMDSLParser, \
|
||||
com.tencent.supersonic.chat.parser.llm.dsl.LLMDslParser, \
|
||||
com.tencent.supersonic.chat.parser.plugin.function.FunctionBasedParser
|
||||
|
||||
|
||||
@@ -32,9 +32,10 @@ com.tencent.supersonic.auth.api.authentication.adaptor.UserAdaptor=\
|
||||
|
||||
com.tencent.supersonic.chat.api.component.SemanticCorrector=\
|
||||
com.tencent.supersonic.chat.corrector.DateFieldCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldValueCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldNameCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FunctionCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.TableNameCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.QueryFilterAppend, \
|
||||
com.tencent.supersonic.chat.corrector.SelectFieldAppendCorrector
|
||||
com.tencent.supersonic.chat.corrector.SelectFieldAppendCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldValueCorrector
|
||||
@@ -16,9 +16,13 @@ server:
|
||||
port: 9080
|
||||
|
||||
authentication:
|
||||
enable: false
|
||||
enable: true
|
||||
exclude:
|
||||
path: /api/auth/user/register,/api/auth/user/login
|
||||
token:
|
||||
http:
|
||||
header:
|
||||
key: Authorization
|
||||
|
||||
semantic:
|
||||
url:
|
||||
|
||||
@@ -1,72 +1,29 @@
|
||||
insert into s2_user (id, `name`, password, display_name, email)
|
||||
values (1, 'admin', 'admin', 'admin', 'admin@xx.com');
|
||||
insert into s2_user (id, `name`, password, display_name, email)
|
||||
values (2, 'jack', '123456', 'jack', 'jack@xx.com');
|
||||
insert into s2_user (id, `name`, password, display_name, email)
|
||||
values (3, 'tom', '123456', 'tom', 'tom@xx.com');
|
||||
insert into s2_user (id, `name`, password, display_name, email)
|
||||
values (4, 'lucy', '123456', 'lucy', 'lucy@xx.com');
|
||||
insert into s2_user (id, `name`, password, display_name, email) values (1, 'admin','admin','admin','admin@xx.com');
|
||||
insert into s2_user (id, `name`, password, display_name, email) values (2, 'jack','123456','jack','jack@xx.com');
|
||||
insert into s2_user (id, `name`, password, display_name, email) values (3, 'tom','123456','tom','tom@xx.com');
|
||||
insert into s2_user (id, `name`, password, display_name, email) values (4, 'lucy','123456','lucy','lucy@xx.com');
|
||||
|
||||
-- insert into s2_chat_config (`id` ,`domain_id` ,`default_metrics`,`visibility`,`entity_info` ,`dictionary_info`,`created_at`,`updated_at`,`created_by`,`updated_by`,`status` ) values (1,1,'[{"metricId":1,"unit":7,"period":"DAY"}]','{"blackDimIdList":[],"blackMetricIdList":[]}','{"entityIds":[2],"names":["用户","用户姓名"],"detailData":{"dimensionIds":[1,2],"metricIds":[2]}}','[{"itemId":1,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":2,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":3,"type":"DIMENSION","blackList":[],"isDictInfo":true}]','2023-05-24 18:00:00','2023-05-25 11:00:00','admin','admin',1);
|
||||
insert into s2_chat_config (`id`, `domain_id`, `chat_detail_config`, `chat_agg_config`,
|
||||
`created_at`, `updated_at`, `created_by`, `updated_by`, `status`)
|
||||
values (1, 1,
|
||||
'{"visibility":{"blackDimIdList":[1],"blackMetricIdList":[2]},"knowledgeInfos":[{"itemId":2,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[1,2],"metricIds":[1],"unit":7,"period":"DAY"},"entity":null}',
|
||||
'{"visibility":{"blackDimIdList":[3],"blackMetricIdList":[3]},"knowledgeInfos":[{"itemId":2,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[1,2],"metricIds":[1],"unit":7,"period":"DAY"}}',
|
||||
'[{"question":"超音数访问次数"},{"question":"超音数访问人数"},{"question":"超音数按部门访问次数"}]',
|
||||
'2023-05-24 18:00:00', '2023-05-25 11:00:00', 'admin', 'admin', 1);
|
||||
insert into s2_chat_config (`id`, `domain_id`, `chat_detail_config`, `chat_agg_config`,
|
||||
`created_at`, `updated_at`, `created_by`, `updated_by`, `status`)
|
||||
values (2, 2,
|
||||
'{"visibility":{"blackDimIdList":[],"blackMetricIdList":[]},"knowledgeInfos":[{"itemId":7,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[4,5,6,7],"metricIds":[4],"unit":7,"period":"DAY"},"entity":{"entityId":1,"names":["歌手","艺人"]}}',
|
||||
'{"visibility":{"blackDimIdList":[],"blackMetricIdList":[]},"knowledgeInfos":[{"itemId":7,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[4,5,6,7],"metricIds":[4],"unit":7,"period":"DAY"}}',
|
||||
'2023-05-24 18:00:00', '2023-05-25 11:00:00', 'admin', 'admin', 1);
|
||||
-- insert into s2_chat_config (`id` ,`model_id` ,`chat_detail_config`,`chat_agg_config`,`created_at`,`updated_at`,`created_by`,`updated_by`,`status` )
|
||||
-- values (1,1,
|
||||
-- '{"visibility":{"blackDimIdList":[1],"blackMetricIdList":[2]},"knowledgeInfos":[{"itemId":2,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[1,2],"metricIds":[1],"unit":7,"period":"DAY"},"entity":null}',
|
||||
-- '{"visibility":{"blackDimIdList":[3],"blackMetricIdList":[3]},"knowledgeInfos":[{"itemId":2,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[1,2],"metricIds":[1],"unit":7,"period":"DAY"}}',
|
||||
-- '[{"question":"超音数访问次数"},{"question":"超音数访问人数"},{"question":"超音数按部门访问次数"}]',
|
||||
-- '2023-05-24 18:00:00','2023-05-25 11:00:00','admin','admin',1);
|
||||
-- insert into s2_chat_config (`id` ,`model_id` ,`chat_detail_config`,`chat_agg_config`,`created_at`,`updated_at`,`created_by`,`updated_by`,`status` )
|
||||
-- values (2,2,'{"visibility":{"blackDimIdList":[],"blackMetricIdList":[]},"knowledgeInfos":[{"itemId":7,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[4,5,6,7],"metricIds":[4],"unit":7,"period":"DAY"},"entity":{"entityId":1,"names":["歌手","艺人"]}}',
|
||||
-- '{"visibility":{"blackDimIdList":[],"blackMetricIdList":[]},"knowledgeInfos":[{"itemId":7,"type":"DIMENSION","searchEnable":true}],"chatDefaultConfig":{"dimensionIds":[4,5,6,7],"metricIds":[4],"unit":7,"period":"DAY"}}',
|
||||
-- '2023-05-24 18:00:00','2023-05-25 11:00:00','admin','admin',1);
|
||||
|
||||
insert into s2_chat (chat_id, `chat_name`, create_time, last_time, creator, last_question,
|
||||
is_delete, is_top)
|
||||
values (1, '超音数访问统计', '2023-06-10 10:00:52.495', '2023-06-10 10:00:52', 'admin', '您好,欢迎使用内容智能小Q',
|
||||
'0', '0');
|
||||
insert into s2_chat (chat_id, `chat_name`, create_time, last_time, creator, last_question,
|
||||
is_delete, is_top)
|
||||
values (2, '用户访问统计', '2023-06-10 10:01:04.528', '2023-06-10 10:01:04', 'admin', '您好,欢迎使用内容智能小Q',
|
||||
'0', '0');
|
||||
insert into s2_chat (chat_id, `chat_name`, create_time, last_time, creator,last_question,is_delete,is_top) values (1, '超音数访问统计','2023-06-10 10:00:52.495','2023-06-10 10:00:52','admin','您好,欢迎使用内容智能小Q','0','0');
|
||||
insert into s2_chat (chat_id, `chat_name`, create_time, last_time, creator,last_question,is_delete,is_top) values (2, '用户访问统计','2023-06-10 10:01:04.528','2023-06-10 10:01:04','admin','您好,欢迎使用内容智能小Q','0','0');
|
||||
|
||||
insert into s2_chat_context (chat_id, modified_at, `user`, `query_text`, `semantic_parse`, ext_data)
|
||||
VALUES (1, '2023-06-10 10:40:49.877', 'admin', '访问',
|
||||
'{"queryMode":"METRIC_ORDERBY","aggType":"NONE","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":3,"name":"访问人数","bizName":"uv","status":1,"sensitiveLevel":0},{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"nativeQuery":false}',
|
||||
'admin');
|
||||
insert into s2_chat_context (chat_id, modified_at, `user`, `query_text`, `semantic_parse`, ext_data)
|
||||
VALUES (2, '2023-06-10 10:42:02.184', 'null', '访问',
|
||||
'{"queryMode":"METRIC_ORDERBY","aggType":"NONE","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":3,"name":"访问人数","bizName":"uv","status":1,"sensitiveLevel":0},{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"nativeQuery":false}',
|
||||
'null');
|
||||
insert into s2_chat_context (chat_id, modified_at , `user`, `query_text`, `semantic_parse` ,ext_data) VALUES(1, '2023-06-10 10:40:49.877', 'admin', '访问', '{"queryMode":"METRIC_ORDERBY","aggType":"NONE","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":3,"name":"访问人数","bizName":"uv","status":1,"sensitiveLevel":0},{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"nativeQuery":false}', 'admin');
|
||||
insert into s2_chat_context (chat_id, modified_at , `user`, `query_text`, `semantic_parse` ,ext_data) VALUES(2, '2023-06-10 10:42:02.184', 'null', '访问', '{"queryMode":"METRIC_ORDERBY","aggType":"NONE","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":3,"name":"访问人数","bizName":"uv","status":1,"sensitiveLevel":0},{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"nativeQuery":false}', 'null');
|
||||
|
||||
insert into s2_chat_query (`question_id`, `create_time`, `query_text`, `user_name`, `query_state`,
|
||||
`chat_id`, `query_response`, `score`, `feedback`)
|
||||
VALUES (1, '2023-06-10 10:39:55.178', '超音数 访问次数', 'admin', 0, 1,
|
||||
'{"queryMode":"METRIC_DOMAIN","querySql":"SELECT `sys_imp_date` , `pv` FROM ( SELECT `sys_imp_date` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` FROM ( SELECT `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_f370` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' ) GROUP BY `sys_imp_date` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"}},"chatContext":{"queryMode":"METRIC_DOMAIN","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","pv":11},{"sys_imp_date":"2023-06-04","pv":14},{"sys_imp_date":"2023-06-05","pv":1},{"sys_imp_date":"2023-06-06","pv":19},{"sys_imp_date":"2023-06-07","pv":18},{"sys_imp_date":"2023-06-08","pv":24},{"sys_imp_date":"2023-06-09","pv":23}]}',
|
||||
0, '');
|
||||
insert into s2_chat_query (`question_id`, `create_time`, `query_text`, `user_name`, `query_state`,
|
||||
`chat_id`, `query_response`, `score`, `feedback`)
|
||||
VALUES (2, '2023-06-10 10:40:12.259', '按页面', 'admin', 0, 1,
|
||||
'{"queryMode":"METRIC_ORDERBY","querySql":"SELECT `sys_imp_date` , `page` , `pv` FROM ( SELECT `sys_imp_date` , `page` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` , `page` FROM ( SELECT `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` , `page` AS `page` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_ecf5` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' ) GROUP BY `sys_imp_date` , `page` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"页面","type":"VARCHAR","nameEn":"page","showType":"CATEGORY","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"}},"chatContext":{"queryMode":"METRIC_ORDERBY","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","page":"p1","pv":2},{"sys_imp_date":"2023-06-03","page":"p2","pv":3},{"sys_imp_date":"2023-06-03","page":"p3","pv":2},{"sys_imp_date":"2023-06-03","page":"p4","pv":1},{"sys_imp_date":"2023-06-03","page":"p5","pv":3},{"sys_imp_date":"2023-06-04","page":"p1","pv":3},{"sys_imp_date":"2023-06-04","page":"p2","pv":1},{"sys_imp_date":"2023-06-04","page":"p3","pv":2},{"sys_imp_date":"2023-06-04","page":"p4","pv":4},{"sys_imp_date":"2023-06-04","page":"p5","pv":4}]}',
|
||||
0, '');
|
||||
insert into s2_chat_query (`question_id`, `create_time`, `query_text`, `user_name`, `query_state`,
|
||||
`chat_id`, `query_response`, `score`, `feedback`)
|
||||
VALUES (3, '2023-06-10 10:40:49.877', '访问', 'admin', 0, 1,
|
||||
'{"queryMode":"METRIC_ORDERBY","querySql":"SELECT `sys_imp_date` , `page` , `uv` , `pv` FROM ( SELECT `sys_imp_date` , `page` , `s2_pv_uv_statis_uv` AS `uv` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT COUNT ( DISTINCT `s2_pv_uv_statis_uv` ) AS `s2_pv_uv_statis_uv` , SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` , `page` FROM ( SELECT `uv` AS `s2_pv_uv_statis_uv` , `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` , `page` AS `page` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_022c` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' ) GROUP BY `sys_imp_date` , `page` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"页面","type":"VARCHAR","nameEn":"page","showType":"CATEGORY","authorized":true},{"name":"访问人数","type":"BIGINT","nameEn":"uv","showType":"NUMBER","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"}},"chatContext":{"queryMode":"METRIC_ORDERBY","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":3,"name":"访问人数","bizName":"uv","status":1,"sensitiveLevel":0},{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","page":"p1","uv":2,"pv":2},{"sys_imp_date":"2023-06-03","page":"p2","uv":3,"pv":3},{"sys_imp_date":"2023-06-03","page":"p3","uv":2,"pv":2},{"sys_imp_date":"2023-06-03","page":"p4","uv":1,"pv":1},{"sys_imp_date":"2023-06-03","page":"p5","uv":3,"pv":3},{"sys_imp_date":"2023-06-04","page":"p1","uv":2,"pv":3},{"sys_imp_date":"2023-06-04","page":"p2","uv":1,"pv":1},{"sys_imp_date":"2023-06-04","page":"p3","uv":2,"pv":2},{"sys_imp_date":"2023-06-04","page":"p4","uv":3,"pv":4},{"sys_imp_date":"2023-06-04","page":"p5","uv":3,"pv":4}]}',
|
||||
0, '');
|
||||
insert into s2_chat_query (`question_id`, `create_time`, `query_text`, `user_name`, `query_state`,
|
||||
`chat_id`, `query_response`, `score`, `feedback`)
|
||||
VALUES (4, '2023-06-10 10:41:18.589', 'alice 访问次数', 'admin', 0, 2,
|
||||
'{"queryMode":"METRIC_FILTER","querySql":"SELECT `sys_imp_date` , `pv` FROM ( SELECT `sys_imp_date` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` FROM ( SELECT `user_name` , `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_b825` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' AND `user_name` = ''alice'' ) GROUP BY `sys_imp_date` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"},"dimensions":[{"itemId":1,"name":"部门","bizName":"department","value":"sales"},{"itemId":2,"name":"用户名","bizName":"user_name","value":"alice"}],"metrics":[{"itemId":2,"name":"访问次数","bizName":"pv","value":"2"}],"entityId":"alice"},"chatContext":{"queryMode":"METRIC_FILTER","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[{"bizName":"user_name","name":"用户名","operator":"=","value":"alice","elementID":2}],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","pv":2},{"sys_imp_date":"2023-06-04","pv":2},{"sys_imp_date":"2023-06-06","pv":2},{"sys_imp_date":"2023-06-07","pv":2},{"sys_imp_date":"2023-06-08","pv":5},{"sys_imp_date":"2023-06-09","pv":2}]}',
|
||||
0, '');
|
||||
insert into s2_chat_query (`question_id`, `create_time`, `query_text`, `user_name`, `query_state`,
|
||||
`chat_id`, `query_response`, `score`, `feedback`)
|
||||
VALUES (5, '2023-06-10 10:41:48.211', '停留时长', 'admin', 0, 2,
|
||||
'{"queryMode":"METRIC_FILTER","querySql":"SELECT `sys_imp_date` , `stay_hours` FROM ( SELECT `sys_imp_date` , `s2_stay_time_statis_stay_hours` AS `stay_hours` FROM ( SELECT SUM ( `s2_stay_time_statis_stay_hours` ) AS `s2_stay_time_statis_stay_hours` , `sys_imp_date` FROM ( SELECT `user_name` , `stay_hours` AS `s2_stay_time_statis_stay_hours` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `page` , `user_name` , `stay_hours` FROM `s2_stay_time_statis` ) AS `s2_stay_time_statis` ) AS `src00_s2_stay_time_statis_df18` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' AND `user_name` = ''alice'' ) GROUP BY `sys_imp_date` ) AS `s2_stay_time_statis_0` ) AS `s2_stay_time_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"停留时长","type":"DOUBLE","nameEn":"stay_hours","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"},"dimensions":[{"itemId":1,"name":"部门","bizName":"department","value":"sales"},{"itemId":2,"name":"用户名","bizName":"user_name","value":"alice"}],"metrics":[{"itemId":2,"name":"访问次数","bizName":"pv","value":"2"}],"entityId":"alice"},"chatContext":{"queryMode":"METRIC_FILTER","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":1,"name":"停留时长","bizName":"stay_hours","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[{"bizName":"user_name","name":"用户名","operator":"=","value":"alice","elementID":2}],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","stay_hours":0.5963801306980994},{"sys_imp_date":"2023-06-04","stay_hours":1.5120376931855422},{"sys_imp_date":"2023-06-06","stay_hours":3.7790223355266317},{"sys_imp_date":"2023-06-07","stay_hours":0.8654528466186735},{"sys_imp_date":"2023-06-08","stay_hours":0.9796159603778489},{"sys_imp_date":"2023-06-09","stay_hours":0.6705580511822682}]}',
|
||||
0, '');
|
||||
insert into s2_chat_query (`question_id`, `create_time`, `query_text`, `user_name`, `query_state`,
|
||||
`chat_id`, `query_response`, `score`, `feedback`)
|
||||
VALUES (6, '2023-06-10 10:42:02.184', '访问', 'admin', 0, 2,
|
||||
'{"queryMode":"METRIC_FILTER","querySql":"SELECT `sys_imp_date` , `stay_hours` FROM ( SELECT `sys_imp_date` , `s2_stay_time_statis_stay_hours` AS `stay_hours` FROM ( SELECT SUM ( `s2_stay_time_statis_stay_hours` ) AS `s2_stay_time_statis_stay_hours` , `sys_imp_date` FROM ( SELECT `user_name` , `stay_hours` AS `s2_stay_time_statis_stay_hours` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `page` , `user_name` , `stay_hours` FROM `s2_stay_time_statis` ) AS `s2_stay_time_statis` ) AS `src00_s2_stay_time_statis_df18` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' AND `user_name` = ''alice'' ) GROUP BY `sys_imp_date` ) AS `s2_stay_time_statis_0` ) AS `s2_stay_time_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"停留时长","type":"DOUBLE","nameEn":"stay_hours","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"},"dimensions":[{"itemId":1,"name":"部门","bizName":"department","value":"sales"},{"itemId":2,"name":"用户名","bizName":"user_name","value":"alice"}],"metrics":[{"itemId":2,"name":"访问次数","bizName":"pv","value":"2"}],"entityId":"alice"},"chatContext":{"queryMode":"METRIC_FILTER","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":1,"name":"停留时长","bizName":"stay_hours","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[{"bizName":"user_name","name":"用户名","operator":"=","value":"alice","elementID":2}],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","stay_hours":0.5963801306980994},{"sys_imp_date":"2023-06-04","stay_hours":1.5120376931855422},{"sys_imp_date":"2023-06-06","stay_hours":3.7790223355266317},{"sys_imp_date":"2023-06-07","stay_hours":0.8654528466186735},{"sys_imp_date":"2023-06-08","stay_hours":0.9796159603778489},{"sys_imp_date":"2023-06-09","stay_hours":0.6705580511822682}]}',
|
||||
0, '');
|
||||
insert into s2_chat_query (`question_id`,`create_time`,`query_text`,`user_name`,`query_state`,`chat_id`,`query_result`,`score`,`feedback`) VALUES(1, '2023-06-10 10:39:55.178', '超音数 访问次数', 'admin',0,1,'{"queryMode":"METRIC_DOMAIN","querySql":"SELECT `sys_imp_date` , `pv` FROM ( SELECT `sys_imp_date` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` FROM ( SELECT `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_f370` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' ) GROUP BY `sys_imp_date` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"}},"chatContext":{"queryMode":"METRIC_DOMAIN","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","pv":11},{"sys_imp_date":"2023-06-04","pv":14},{"sys_imp_date":"2023-06-05","pv":1},{"sys_imp_date":"2023-06-06","pv":19},{"sys_imp_date":"2023-06-07","pv":18},{"sys_imp_date":"2023-06-08","pv":24},{"sys_imp_date":"2023-06-09","pv":23}]}',0,'');
|
||||
insert into s2_chat_query (`question_id`,`create_time`,`query_text`,`user_name`,`query_state`,`chat_id`,`query_result`,`score`,`feedback`) VALUES(2, '2023-06-10 10:40:12.259', '按页面', 'admin',0,1,'{"queryMode":"METRIC_ORDERBY","querySql":"SELECT `sys_imp_date` , `page` , `pv` FROM ( SELECT `sys_imp_date` , `page` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` , `page` FROM ( SELECT `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` , `page` AS `page` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_ecf5` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' ) GROUP BY `sys_imp_date` , `page` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"页面","type":"VARCHAR","nameEn":"page","showType":"CATEGORY","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"}},"chatContext":{"queryMode":"METRIC_ORDERBY","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","page":"p1","pv":2},{"sys_imp_date":"2023-06-03","page":"p2","pv":3},{"sys_imp_date":"2023-06-03","page":"p3","pv":2},{"sys_imp_date":"2023-06-03","page":"p4","pv":1},{"sys_imp_date":"2023-06-03","page":"p5","pv":3},{"sys_imp_date":"2023-06-04","page":"p1","pv":3},{"sys_imp_date":"2023-06-04","page":"p2","pv":1},{"sys_imp_date":"2023-06-04","page":"p3","pv":2},{"sys_imp_date":"2023-06-04","page":"p4","pv":4},{"sys_imp_date":"2023-06-04","page":"p5","pv":4}]}',0,'');
|
||||
insert into s2_chat_query (`question_id`,`create_time`,`query_text`,`user_name`,`query_state`,`chat_id`,`query_result`,`score`,`feedback`) VALUES(3, '2023-06-10 10:40:49.877', '访问', 'admin',0,1,'{"queryMode":"METRIC_ORDERBY","querySql":"SELECT `sys_imp_date` , `page` , `uv` , `pv` FROM ( SELECT `sys_imp_date` , `page` , `s2_pv_uv_statis_uv` AS `uv` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT COUNT ( DISTINCT `s2_pv_uv_statis_uv` ) AS `s2_pv_uv_statis_uv` , SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` , `page` FROM ( SELECT `uv` AS `s2_pv_uv_statis_uv` , `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` , `page` AS `page` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_022c` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' ) GROUP BY `sys_imp_date` , `page` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"页面","type":"VARCHAR","nameEn":"page","showType":"CATEGORY","authorized":true},{"name":"访问人数","type":"BIGINT","nameEn":"uv","showType":"NUMBER","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"}},"chatContext":{"queryMode":"METRIC_ORDERBY","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":3,"name":"访问人数","bizName":"uv","status":1,"sensitiveLevel":0},{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"id":3,"name":"页面","bizName":"page","status":1,"sensitiveLevel":0},{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","page":"p1","uv":2,"pv":2},{"sys_imp_date":"2023-06-03","page":"p2","uv":3,"pv":3},{"sys_imp_date":"2023-06-03","page":"p3","uv":2,"pv":2},{"sys_imp_date":"2023-06-03","page":"p4","uv":1,"pv":1},{"sys_imp_date":"2023-06-03","page":"p5","uv":3,"pv":3},{"sys_imp_date":"2023-06-04","page":"p1","uv":2,"pv":3},{"sys_imp_date":"2023-06-04","page":"p2","uv":1,"pv":1},{"sys_imp_date":"2023-06-04","page":"p3","uv":2,"pv":2},{"sys_imp_date":"2023-06-04","page":"p4","uv":3,"pv":4},{"sys_imp_date":"2023-06-04","page":"p5","uv":3,"pv":4}]}',0,'');
|
||||
insert into s2_chat_query (`question_id`,`create_time`,`query_text`,`user_name`,`query_state`,`chat_id`,`query_result`,`score`,`feedback`) VALUES(4, '2023-06-10 10:41:18.589','alice 访问次数','admin',0,2,'{"queryMode":"METRIC_FILTER","querySql":"SELECT `sys_imp_date` , `pv` FROM ( SELECT `sys_imp_date` , `s2_pv_uv_statis_pv` AS `pv` FROM ( SELECT SUM ( `s2_pv_uv_statis_pv` ) AS `s2_pv_uv_statis_pv` , `sys_imp_date` FROM ( SELECT `user_name` , `pv` AS `s2_pv_uv_statis_pv` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `user_name` , `page` , 1 AS `pv` , `user_name` AS `uv` FROM `s2_pv_uv_statis` ) AS `s2_pv_uv_statis` ) AS `src00_s2_pv_uv_statis_b825` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' AND `user_name` = ''alice'' ) GROUP BY `sys_imp_date` ) AS `s2_pv_uv_statis_0` ) AS `s2_pv_uv_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"访问次数","type":"BIGINT","nameEn":"pv","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"},"dimensions":[{"itemId":1,"name":"部门","bizName":"department","value":"sales"},{"itemId":2,"name":"用户名","bizName":"user_name","value":"alice"}],"metrics":[{"itemId":2,"name":"访问次数","bizName":"pv","value":"2"}],"entityId":"alice"},"chatContext":{"queryMode":"METRIC_FILTER","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":2,"name":"访问次数","bizName":"pv","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[{"bizName":"user_name","name":"用户名","operator":"=","value":"alice","elementID":2}],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","pv":2},{"sys_imp_date":"2023-06-04","pv":2},{"sys_imp_date":"2023-06-06","pv":2},{"sys_imp_date":"2023-06-07","pv":2},{"sys_imp_date":"2023-06-08","pv":5},{"sys_imp_date":"2023-06-09","pv":2}]}',0,'');
|
||||
insert into s2_chat_query (`question_id`,`create_time`,`query_text`,`user_name`,`query_state`,`chat_id`,`query_result`,`score`,`feedback`) VALUES(5, '2023-06-10 10:41:48.211','停留时长','admin',0,2,'{"queryMode":"METRIC_FILTER","querySql":"SELECT `sys_imp_date` , `stay_hours` FROM ( SELECT `sys_imp_date` , `s2_stay_time_statis_stay_hours` AS `stay_hours` FROM ( SELECT SUM ( `s2_stay_time_statis_stay_hours` ) AS `s2_stay_time_statis_stay_hours` , `sys_imp_date` FROM ( SELECT `user_name` , `stay_hours` AS `s2_stay_time_statis_stay_hours` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `page` , `user_name` , `stay_hours` FROM `s2_stay_time_statis` ) AS `s2_stay_time_statis` ) AS `src00_s2_stay_time_statis_df18` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' AND `user_name` = ''alice'' ) GROUP BY `sys_imp_date` ) AS `s2_stay_time_statis_0` ) AS `s2_stay_time_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"停留时长","type":"DOUBLE","nameEn":"stay_hours","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"},"dimensions":[{"itemId":1,"name":"部门","bizName":"department","value":"sales"},{"itemId":2,"name":"用户名","bizName":"user_name","value":"alice"}],"metrics":[{"itemId":2,"name":"访问次数","bizName":"pv","value":"2"}],"entityId":"alice"},"chatContext":{"queryMode":"METRIC_FILTER","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":1,"name":"停留时长","bizName":"stay_hours","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[{"bizName":"user_name","name":"用户名","operator":"=","value":"alice","elementID":2}],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","stay_hours":0.5963801306980994},{"sys_imp_date":"2023-06-04","stay_hours":1.5120376931855422},{"sys_imp_date":"2023-06-06","stay_hours":3.7790223355266317},{"sys_imp_date":"2023-06-07","stay_hours":0.8654528466186735},{"sys_imp_date":"2023-06-08","stay_hours":0.9796159603778489},{"sys_imp_date":"2023-06-09","stay_hours":0.6705580511822682}]}',0,'');
|
||||
insert into s2_chat_query (`question_id`,`create_time`,`query_text`,`user_name`,`query_state`,`chat_id`,`query_result`,`score`,`feedback`) VALUES(6, '2023-06-10 10:42:02.184','访问','admin',0,2,'{"queryMode":"METRIC_FILTER","querySql":"SELECT `sys_imp_date` , `stay_hours` FROM ( SELECT `sys_imp_date` , `s2_stay_time_statis_stay_hours` AS `stay_hours` FROM ( SELECT SUM ( `s2_stay_time_statis_stay_hours` ) AS `s2_stay_time_statis_stay_hours` , `sys_imp_date` FROM ( SELECT `user_name` , `stay_hours` AS `s2_stay_time_statis_stay_hours` , `imp_date` AS `sys_imp_date` FROM ( SELECT `imp_date` , `page` , `user_name` , `stay_hours` FROM `s2_stay_time_statis` ) AS `s2_stay_time_statis` ) AS `src00_s2_stay_time_statis_df18` WHERE ( `sys_imp_date` >= ''2023-06-03'' AND `sys_imp_date` <= ''2023-06-09'' AND `user_name` = ''alice'' ) GROUP BY `sys_imp_date` ) AS `s2_stay_time_statis_0` ) AS `s2_stay_time_statis_1` LIMIT 10","queryState":0,"queryColumns":[{"name":"date","type":"VARCHAR","nameEn":"sys_imp_date","showType":"DATE","authorized":true},{"name":"停留时长","type":"DOUBLE","nameEn":"stay_hours","showType":"NUMBER","authorized":true}],"entityInfo":{"domainInfo":{"itemId":1,"name":"超音数","bizName":"supersonic","words":["用户","用户姓名"],"primaryEntityBizName":"user_name"},"dimensions":[{"itemId":1,"name":"部门","bizName":"department","value":"sales"},{"itemId":2,"name":"用户名","bizName":"user_name","value":"alice"}],"metrics":[{"itemId":2,"name":"访问次数","bizName":"pv","value":"2"}],"entityId":"alice"},"chatContext":{"queryMode":"METRIC_FILTER","domainId":1,"domainName":"超音数","entity":0,"metrics":[{"id":1,"name":"停留时长","bizName":"stay_hours","status":1,"sensitiveLevel":0}],"dimensions":[{"bizName":"sys_imp_date","status":1,"sensitiveLevel":0}],"dimensionFilters":[{"bizName":"user_name","name":"用户名","operator":"=","value":"alice","elementID":2}],"metricFilters":[],"orders":[],"dateInfo":{"dateMode":"RECENT_UNITS","startDate":"2023-06-03","endDate":"2023-06-09","dateList":[],"unit":7,"period":"DAY"},"limit":10,"nativeQuery":false},"queryResults":[{"sys_imp_date":"2023-06-03","stay_hours":0.5963801306980994},{"sys_imp_date":"2023-06-04","stay_hours":1.5120376931855422},{"sys_imp_date":"2023-06-06","stay_hours":3.7790223355266317},{"sys_imp_date":"2023-06-07","stay_hours":0.8654528466186735},{"sys_imp_date":"2023-06-08","stay_hours":0.9796159603778489},{"sys_imp_date":"2023-06-09","stay_hours":0.6705580511822682}]}',0,'');
|
||||
|
||||
@@ -12,6 +12,7 @@ CREATE TABLE IF NOT EXISTS `s2_chat_context`
|
||||
CREATE TABLE IF NOT EXISTS `s2_chat`
|
||||
(
|
||||
`chat_id` BIGINT auto_increment ,-- AUTO_INCREMENT,
|
||||
`agent_id` INT DEFAULT NULL,
|
||||
`chat_name` varchar(100) DEFAULT NULL,
|
||||
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
|
||||
`last_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
|
||||
@@ -64,7 +65,7 @@ CREATE TABLE `s2_chat_statistics`
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_chat_config` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`domain_id` INT DEFAULT NULL ,
|
||||
`model_id` INT DEFAULT NULL ,
|
||||
`chat_detail_config` varchar(655) ,
|
||||
`chat_agg_config` varchar(655) ,
|
||||
`recommended_questions` varchar(1500) ,
|
||||
@@ -143,7 +144,7 @@ CREATE TABLE IF NOT EXISTS `s2_plugin`
|
||||
(
|
||||
`id` INT AUTO_INCREMENT,
|
||||
`type` varchar(50) NULL,
|
||||
`domain` varchar(100) NULL,
|
||||
`model` varchar(100) NULL,
|
||||
`pattern` varchar(500) NULL,
|
||||
`parse_mode` varchar(100) NULL,
|
||||
`parse_mode_config` LONGVARCHAR NULL,
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true">
|
||||
<contextName>logback</contextName>
|
||||
<!-- <property name="LOG_PATH" value="${logback.logdir:-logs}"/>-->
|
||||
<!-- <property name="LOG_PATH" value="${logback.logdir:-logs}"/>-->
|
||||
<property name="LOG_PATH" value="${LOG_PATH:-logs}"/>
|
||||
<property name="LOG_APPNAME" value="chat"/>
|
||||
<!--输出到控制台-->
|
||||
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} %line - %msg%n</pattern>
|
||||
<pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} %line - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
@@ -46,8 +46,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近90天的日志-->
|
||||
<maxHistory>90</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
@@ -75,8 +74,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近30天的日志-->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.tencent.supersonic.advice;
|
||||
|
||||
import com.tencent.supersonic.common.pojo.ResultData;
|
||||
import com.tencent.supersonic.common.pojo.ReturnCode;
|
||||
import com.tencent.supersonic.common.pojo.exception.AccessException;
|
||||
import com.tencent.supersonic.common.pojo.exception.CommonException;
|
||||
import com.tencent.supersonic.common.pojo.exception.InvalidPermissionException;
|
||||
import com.tencent.supersonic.common.pojo.ResultData;
|
||||
import com.tencent.supersonic.common.pojo.ReturnCode;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
|
||||
<id>bin</id>
|
||||
<formats>
|
||||
<format>tar.gz</format>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
com.tencent.supersonic.auth.authentication.interceptor.AuthenticationInterceptor=\
|
||||
com.tencent.supersonic.auth.authentication.interceptor.DefaultAuthenticationInterceptor
|
||||
|
||||
com.tencent.supersonic.auth.api.authentication.adaptor.UserAdaptor=\
|
||||
com.tencent.supersonic.auth.authentication.adaptor.DefaultUserAdaptor
|
||||
|
||||
|
||||
@@ -18,6 +18,10 @@ spring:
|
||||
data: classpath:db/semantic-data-h2.sql
|
||||
|
||||
authentication:
|
||||
enable: false
|
||||
enable: true
|
||||
exclude:
|
||||
path: /api/auth/user/register,/api/auth/user/login
|
||||
token:
|
||||
http:
|
||||
header:
|
||||
key: Authorization
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,513 +1,278 @@
|
||||
CREATE TABLE IF NOT EXISTS `s2_domain`
|
||||
(
|
||||
`id`
|
||||
INT
|
||||
NOT
|
||||
NULL
|
||||
AUTO_INCREMENT,
|
||||
`name`
|
||||
varchar
|
||||
(
|
||||
255
|
||||
) DEFAULT NULL , -- domain name
|
||||
`biz_name` varchar
|
||||
(
|
||||
255
|
||||
) DEFAULT NULL , -- internal name
|
||||
`parent_id` INT DEFAULT '0' , -- parent domain ID
|
||||
`status` INT NOT NULL ,
|
||||
`created_at` TIMESTAMP DEFAULT NULL ,
|
||||
`created_by` varchar
|
||||
(
|
||||
100
|
||||
) DEFAULT NULL ,
|
||||
`updated_at` TIMESTAMP DEFAULT NULL ,
|
||||
`updated_by` varchar
|
||||
(
|
||||
100
|
||||
) DEFAULT NULL ,
|
||||
`is_unique` INT DEFAULT NULL , -- 0 is non-unique, 1 is unique
|
||||
`admin` varchar
|
||||
(
|
||||
3000
|
||||
) DEFAULT NULL , -- domain administrator
|
||||
`admin_org` varchar
|
||||
(
|
||||
3000
|
||||
) DEFAULT NULL , -- domain administrators organization
|
||||
`is_open` TINYINT DEFAULT NULL , -- whether the domain is public
|
||||
`viewer` varchar
|
||||
(
|
||||
3000
|
||||
) DEFAULT NULL , -- domain available users
|
||||
`view_org` varchar
|
||||
(
|
||||
3000
|
||||
) DEFAULT NULL , -- domain available organization
|
||||
`entity` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL , -- domain entity info
|
||||
PRIMARY KEY
|
||||
(
|
||||
`id`
|
||||
)
|
||||
CREATE TABLE IF NOT EXISTS `s2_model` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT ,
|
||||
`name` varchar(255) DEFAULT NULL , -- domain name
|
||||
`biz_name` varchar(255) DEFAULT NULL , -- internal name
|
||||
`domain_id` INT DEFAULT '0' , -- parent domain ID
|
||||
`created_at` TIMESTAMP DEFAULT NULL ,
|
||||
`created_by` varchar(100) DEFAULT NULL ,
|
||||
`updated_at` TIMESTAMP DEFAULT NULL ,
|
||||
`updated_by` varchar(100) DEFAULT NULL ,
|
||||
`admin` varchar(3000) DEFAULT NULL , -- domain administrator
|
||||
`admin_org` varchar(3000) DEFAULT NULL , -- domain administrators organization
|
||||
`is_open` TINYINT DEFAULT NULL , -- whether the domain is public
|
||||
`viewer` varchar(3000) DEFAULT NULL , -- domain available users
|
||||
`view_org` varchar(3000) DEFAULT NULL , -- domain available organization
|
||||
`entity` varchar(500) DEFAULT NULL , -- domain entity info
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_domain IS 'domain basic information';
|
||||
COMMENT ON TABLE s2_model IS 'model information';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_domain` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT ,
|
||||
`name` varchar(255) DEFAULT NULL , -- domain name
|
||||
`biz_name` varchar(255) DEFAULT NULL , -- internal name
|
||||
`parent_id` INT DEFAULT '0' , -- parent domain ID
|
||||
`status` INT NOT NULL ,
|
||||
`created_at` TIMESTAMP DEFAULT NULL ,
|
||||
`created_by` varchar(100) DEFAULT NULL ,
|
||||
`updated_at` TIMESTAMP DEFAULT NULL ,
|
||||
`updated_by` varchar(100) DEFAULT NULL ,
|
||||
`is_unique` INT DEFAULT NULL , -- 0 is non-unique, 1 is unique
|
||||
`admin` varchar(3000) DEFAULT NULL , -- domain administrator
|
||||
`admin_org` varchar(3000) DEFAULT NULL , -- domain administrators organization
|
||||
`is_open` TINYINT DEFAULT NULL , -- whether the domain is public
|
||||
`viewer` varchar(3000) DEFAULT NULL , -- domain available users
|
||||
`view_org` varchar(3000) DEFAULT NULL , -- domain available organization
|
||||
`entity` varchar(500) DEFAULT NULL , -- domain entity info
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT ON TABLE s2_domain IS 'domain basic information';
|
||||
|
||||
|
||||
CREATE TABLE `s2_database`
|
||||
(
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`domain_id` INT NOT NULL,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`description` varchar(500) DEFAULT NULL,
|
||||
`version` varchar(64) DEFAULT NULL,
|
||||
`type` varchar(20) NOT NULL, -- type: mysql,clickhouse,tdw
|
||||
`config` varchar(655) NOT NULL,
|
||||
`created_at` TIMESTAMP NOT NULL,
|
||||
`created_by` varchar(100) NOT NULL,
|
||||
`updated_at` TIMESTAMP NOT NULL,
|
||||
`updated_by` varchar(100) NOT NULL,
|
||||
CREATE TABLE `s2_database` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`version` varchar(64) DEFAULT NULL ,
|
||||
`type` varchar(20) NOT NULL , -- type: mysql,clickhouse,tdw
|
||||
`config` varchar(655) NOT NULL ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar(100) NOT NULL,
|
||||
`admin` varchar(500) NOT NULL,
|
||||
`viewer` varchar(500) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_database IS 'database instance table';
|
||||
COMMENT ON TABLE s2_database IS 'database instance table';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_datasource`
|
||||
(
|
||||
`id`
|
||||
INT
|
||||
NOT
|
||||
NULL
|
||||
AUTO_INCREMENT,
|
||||
`domain_id`
|
||||
INT
|
||||
NOT
|
||||
NULL,
|
||||
`name`
|
||||
varchar
|
||||
(
|
||||
255
|
||||
) NOT NULL ,
|
||||
`biz_name` varchar
|
||||
(
|
||||
255
|
||||
) NOT NULL ,
|
||||
`description` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL ,
|
||||
`database_id` INT NOT NULL ,
|
||||
`datasource_detail` LONGVARCHAR NOT NULL ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL,
|
||||
PRIMARY KEY
|
||||
(
|
||||
`id`
|
||||
)
|
||||
CREATE TABLE IF NOT EXISTS `s2_datasource` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`model_id` INT NOT NULL ,
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`biz_name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`database_id` INT NOT NULL ,
|
||||
`datasource_detail` LONGVARCHAR NOT NULL ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar(100) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_datasource IS 'datasource table';
|
||||
COMMENT ON TABLE s2_datasource IS 'datasource table';
|
||||
|
||||
create table s2_user
|
||||
(
|
||||
id INT AUTO_INCREMENT,
|
||||
name varchar(100) not null,
|
||||
id INT AUTO_INCREMENT,
|
||||
name varchar(100) not null,
|
||||
display_name varchar(100) null,
|
||||
password varchar(100) null,
|
||||
email varchar(100) null,
|
||||
password varchar(100) null,
|
||||
email varchar(100) null,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_user IS 'user information table';
|
||||
COMMENT ON TABLE s2_user IS 'user information table';
|
||||
|
||||
create table s2_auth_groups
|
||||
(
|
||||
group_id INT,
|
||||
config varchar(2048),
|
||||
config varchar(2048),
|
||||
PRIMARY KEY (`group_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_metric`
|
||||
(
|
||||
`id`
|
||||
INT
|
||||
NOT
|
||||
NULL
|
||||
AUTO_INCREMENT,
|
||||
`domain_id`
|
||||
INT
|
||||
NOT
|
||||
NULL,
|
||||
`name`
|
||||
varchar
|
||||
(
|
||||
255
|
||||
) NOT NULL ,
|
||||
`biz_name` varchar
|
||||
(
|
||||
255
|
||||
) NOT NULL ,
|
||||
`description` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL ,
|
||||
`status` INT NOT NULL , -- status, 0 is normal, 1 is off the shelf, 2 is deleted
|
||||
CREATE TABLE IF NOT EXISTS `s2_metric` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`model_id` INT NOT NULL ,
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`biz_name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`status` INT NOT NULL , -- status, 0 is normal, 1 is off the shelf, 2 is deleted
|
||||
`sensitive_level` INT NOT NULL ,
|
||||
`type` varchar
|
||||
(
|
||||
50
|
||||
) NOT NULL , -- type proxy,expr
|
||||
`type_params` LONGVARCHAR DEFAULT NULL ,
|
||||
`type` varchar(50) NOT NULL , -- type proxy,expr
|
||||
`type_params` LONGVARCHAR DEFAULT NULL ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`data_format_type` varchar
|
||||
(
|
||||
50
|
||||
) DEFAULT NULL ,
|
||||
`data_format` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL,
|
||||
`alias` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL,
|
||||
PRIMARY KEY
|
||||
(
|
||||
`id`
|
||||
)
|
||||
`updated_by` varchar(100) NOT NULL ,
|
||||
`data_format_type` varchar(50) DEFAULT NULL ,
|
||||
`data_format` varchar(500) DEFAULT NULL,
|
||||
`alias` varchar(500) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_metric IS 'metric information table';
|
||||
COMMENT ON TABLE s2_metric IS 'metric information table';
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_dimension`
|
||||
(
|
||||
`id`
|
||||
INT
|
||||
NOT
|
||||
NULL
|
||||
AUTO_INCREMENT,
|
||||
`domain_id`
|
||||
INT
|
||||
NOT
|
||||
NULL,
|
||||
`datasource_id`
|
||||
INT
|
||||
NOT
|
||||
NULL,
|
||||
`name`
|
||||
varchar
|
||||
(
|
||||
255
|
||||
) NOT NULL ,
|
||||
`biz_name` varchar
|
||||
(
|
||||
255
|
||||
) NOT NULL ,
|
||||
`description` varchar
|
||||
(
|
||||
500
|
||||
) NOT NULL ,
|
||||
CREATE TABLE IF NOT EXISTS `s2_dimension` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT ,
|
||||
`model_id` INT NOT NULL ,
|
||||
`datasource_id` INT NOT NULL ,
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`biz_name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) NOT NULL ,
|
||||
`status` INT NOT NULL , -- status, 0 is normal, 1 is off the shelf, 2 is deleted
|
||||
`sensitive_level` INT DEFAULT NULL ,
|
||||
`type` varchar
|
||||
(
|
||||
50
|
||||
) NOT NULL , -- type categorical,time
|
||||
`type_params` LONGVARCHAR DEFAULT NULL ,
|
||||
`type` varchar(50) NOT NULL , -- type categorical,time
|
||||
`type_params` LONGVARCHAR DEFAULT NULL ,
|
||||
`expr` LONGVARCHAR NOT NULL , -- expression
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`semantic_type` varchar
|
||||
(
|
||||
20
|
||||
) NOT NULL, -- semantic type: DATE, ID, CATEGORY
|
||||
`alias` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL,
|
||||
`default_values` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL,
|
||||
`dim_value_maps` varchar
|
||||
(
|
||||
500
|
||||
) DEFAULT NULL,
|
||||
PRIMARY KEY
|
||||
(
|
||||
`id`
|
||||
)
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar(100) NOT NULL ,
|
||||
`semantic_type` varchar(20) NOT NULL, -- semantic type: DATE, ID, CATEGORY
|
||||
`alias` varchar(500) DEFAULT NULL,
|
||||
`default_values` varchar(500) DEFAULT NULL,
|
||||
`dim_value_maps` varchar(500) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_dimension IS 'dimension information table';
|
||||
COMMENT ON TABLE s2_dimension IS 'dimension information table';
|
||||
|
||||
create table s2_datasource_rela
|
||||
(
|
||||
id INT AUTO_INCREMENT,
|
||||
domain_id INT null,
|
||||
datasource_from INT null,
|
||||
datasource_to INT null,
|
||||
model_id INT null,
|
||||
datasource_from INT null,
|
||||
datasource_to INT null,
|
||||
join_key varchar(100) null,
|
||||
created_at TIMESTAMP null,
|
||||
created_at TIMESTAMP null,
|
||||
created_by varchar(100) null,
|
||||
updated_at TIMESTAMP null,
|
||||
updated_at TIMESTAMP null,
|
||||
updated_by varchar(100) null,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_datasource_rela IS 'data source association table';
|
||||
COMMENT ON TABLE s2_datasource_rela IS 'data source association table';
|
||||
|
||||
create table s2_view_info
|
||||
(
|
||||
id INT auto_increment,
|
||||
domain_id INT null,
|
||||
type varchar(20) null comment 'datasource、dimension、metric',
|
||||
config LONGVARCHAR null comment 'config detail',
|
||||
created_at TIMESTAMP null,
|
||||
model_id INT null,
|
||||
type varchar(20) null comment 'datasource、dimension、metric',
|
||||
config LONGVARCHAR null comment 'config detail',
|
||||
created_at TIMESTAMP null,
|
||||
created_by varchar(100) null,
|
||||
updated_at TIMESTAMP null,
|
||||
updated_at TIMESTAMP null,
|
||||
updated_by varchar(100) not null
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_view_info IS 'view information table';
|
||||
COMMENT ON TABLE s2_view_info IS 'view information table';
|
||||
|
||||
|
||||
CREATE TABLE `s2_query_stat_info`
|
||||
(
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`trace_id` varchar(200) DEFAULT NULL, -- query unique identifier
|
||||
`domain_id` INT DEFAULT NULL,
|
||||
`user` varchar(200) DEFAULT NULL,
|
||||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
`query_type` varchar(200) DEFAULT NULL, -- the corresponding scene
|
||||
`query_type_back` INT DEFAULT '0', -- query type, 0-normal query, 1-pre-refresh type
|
||||
`query_sql_cmd` LONGVARCHAR, -- sql type request parameter
|
||||
`sql_cmd_md5` varchar(200) DEFAULT NULL, -- sql type request parameter md5
|
||||
`query_struct_cmd` LONGVARCHAR, -- struct type request parameter
|
||||
`struct_cmd_md5` varchar(200) DEFAULT NULL, -- struct type request parameter md5值
|
||||
`sql` LONGVARCHAR,
|
||||
`sql_md5` varchar(200) DEFAULT NULL, -- sql md5
|
||||
`query_engine` varchar(20) DEFAULT NULL,
|
||||
`elapsed_ms` bigINT DEFAULT NULL,
|
||||
`query_state` varchar(20) DEFAULT NULL,
|
||||
`native_query` INT DEFAULT NULL, -- 1-detail query, 0-aggregation query
|
||||
`start_date` varchar(50) DEFAULT NULL,
|
||||
`end_date` varchar(50) DEFAULT NULL,
|
||||
`dimensions` LONGVARCHAR, -- dimensions involved in sql
|
||||
`metrics` LONGVARCHAR, -- metric involved in sql
|
||||
`select_cols` LONGVARCHAR,
|
||||
`agg_cols` LONGVARCHAR,
|
||||
`filter_cols` LONGVARCHAR,
|
||||
`group_by_cols` LONGVARCHAR,
|
||||
`order_by_cols` LONGVARCHAR,
|
||||
`use_result_cache` TINYINT DEFAULT '-1', -- whether to hit the result cache
|
||||
`use_sql_cache` TINYINT DEFAULT '-1', -- whether to hit the sql cache
|
||||
`sql_cache_key` LONGVARCHAR, -- sql cache key
|
||||
`result_cache_key` LONGVARCHAR, -- result cache key
|
||||
CREATE TABLE `s2_query_stat_info` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`trace_id` varchar(200) DEFAULT NULL, -- query unique identifier
|
||||
`model_id` INT DEFAULT NULL,
|
||||
`user` varchar(200) DEFAULT NULL,
|
||||
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
|
||||
`query_type` varchar(200) DEFAULT NULL, -- the corresponding scene
|
||||
`query_type_back` INT DEFAULT '0' , -- query type, 0-normal query, 1-pre-refresh type
|
||||
`query_sql_cmd`LONGVARCHAR , -- sql type request parameter
|
||||
`sql_cmd_md5` varchar(200) DEFAULT NULL, -- sql type request parameter md5
|
||||
`query_struct_cmd`LONGVARCHAR , -- struct type request parameter
|
||||
`struct_cmd_md5` varchar(200) DEFAULT NULL, -- struct type request parameter md5值
|
||||
`sql`LONGVARCHAR ,
|
||||
`sql_md5` varchar(200) DEFAULT NULL, -- sql md5
|
||||
`query_engine` varchar(20) DEFAULT NULL,
|
||||
`elapsed_ms` bigINT DEFAULT NULL,
|
||||
`query_state` varchar(20) DEFAULT NULL,
|
||||
`native_query` INT DEFAULT NULL, -- 1-detail query, 0-aggregation query
|
||||
`start_date` varchar(50) DEFAULT NULL,
|
||||
`end_date` varchar(50) DEFAULT NULL,
|
||||
`dimensions`LONGVARCHAR , -- dimensions involved in sql
|
||||
`metrics`LONGVARCHAR , -- metric involved in sql
|
||||
`select_cols`LONGVARCHAR ,
|
||||
`agg_cols`LONGVARCHAR ,
|
||||
`filter_cols`LONGVARCHAR ,
|
||||
`group_by_cols`LONGVARCHAR ,
|
||||
`order_by_cols`LONGVARCHAR ,
|
||||
`use_result_cache` TINYINT DEFAULT '-1' , -- whether to hit the result cache
|
||||
`use_sql_cache` TINYINT DEFAULT '-1' , -- whether to hit the sql cache
|
||||
`sql_cache_key`LONGVARCHAR , -- sql cache key
|
||||
`result_cache_key`LONGVARCHAR , -- result cache key
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_query_stat_info IS 'query statistics table';
|
||||
) ;
|
||||
COMMENT ON TABLE s2_query_stat_info IS 'query statistics table';
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_semantic_pasre_info`
|
||||
(
|
||||
`id`
|
||||
INT
|
||||
NOT
|
||||
NULL
|
||||
AUTO_INCREMENT,
|
||||
`trace_id`
|
||||
varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL ,
|
||||
`domain_id` INT NOT NULL ,
|
||||
`dimensions` LONGVARCHAR ,
|
||||
`metrics` LONGVARCHAR ,
|
||||
`orders` LONGVARCHAR ,
|
||||
`filters` LONGVARCHAR ,
|
||||
`date_info` LONGVARCHAR ,
|
||||
CREATE TABLE IF NOT EXISTS `s2_semantic_pasre_info` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`trace_id` varchar(200) NOT NULL ,
|
||||
`model_id` INT NOT NULL ,
|
||||
`dimensions`LONGVARCHAR ,
|
||||
`metrics`LONGVARCHAR ,
|
||||
`orders`LONGVARCHAR ,
|
||||
`filters`LONGVARCHAR ,
|
||||
`date_info`LONGVARCHAR ,
|
||||
`limit` INT NOT NULL ,
|
||||
`native_query` TINYINT NOT NULL DEFAULT '0' ,
|
||||
`sql` LONGVARCHAR ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`sql`LONGVARCHAR ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`status` INT NOT NULL ,
|
||||
`elapsed_ms` bigINT DEFAULT NULL ,
|
||||
PRIMARY KEY
|
||||
(
|
||||
`id`
|
||||
)
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_semantic_pasre_info IS 'semantic layer sql parsing information table';
|
||||
COMMENT ON TABLE s2_semantic_pasre_info IS 'semantic layer sql parsing information table';
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_available_date_info`
|
||||
(
|
||||
`id`
|
||||
INT
|
||||
NOT
|
||||
NULL
|
||||
AUTO_INCREMENT,
|
||||
`item_id`
|
||||
INT
|
||||
NOT
|
||||
NULL,
|
||||
`type`
|
||||
varchar
|
||||
(
|
||||
255
|
||||
) NOT NULL ,
|
||||
`date_format` varchar
|
||||
(
|
||||
64
|
||||
) NOT NULL ,
|
||||
`start_date` varchar
|
||||
(
|
||||
64
|
||||
) ,
|
||||
`end_date` varchar
|
||||
(
|
||||
64
|
||||
) ,
|
||||
`unavailable_date` LONGVARCHAR DEFAULT NULL ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar
|
||||
(
|
||||
100
|
||||
) NOT NULL ,
|
||||
`date_period` varchar
|
||||
(
|
||||
100
|
||||
) DEFAULT NULL ,
|
||||
`status` INT DEFAULT '0', -- 1-in use 0 is normal, 1 is off the shelf, 2 is deleted
|
||||
PRIMARY KEY
|
||||
(
|
||||
`id`
|
||||
)
|
||||
CREATE TABLE IF NOT EXISTS `s2_available_date_info` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT ,
|
||||
`item_id` INT NOT NULL ,
|
||||
`type` varchar(255) NOT NULL ,
|
||||
`date_format` varchar(64) NOT NULL ,
|
||||
`start_date` varchar(64) ,
|
||||
`end_date` varchar(64) ,
|
||||
`unavailable_date` LONGVARCHAR DEFAULT NULL ,
|
||||
`created_at` TIMESTAMP NOT NULL ,
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar(100) NOT NULL ,
|
||||
`date_period` varchar(100) DEFAULT NULL ,
|
||||
`status` INT DEFAULT '0', -- 1-in use 0 is normal, 1 is off the shelf, 2 is deleted
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_dimension IS 'dimension information table';
|
||||
COMMENT ON TABLE s2_available_date_info IS 's2_available_date_info information table';
|
||||
|
||||
|
||||
-------demo for semantic and chat
|
||||
CREATE TABLE IF NOT EXISTS `s2_user_department`
|
||||
(
|
||||
`user_name` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`department` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL -- department of user
|
||||
CREATE TABLE IF NOT EXISTS `s2_user_department` (
|
||||
`user_name` varchar(200) NOT NULL,
|
||||
`department` varchar(200) NOT NULL -- department of user
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_semantic_pasre_info IS 'user_department_info';
|
||||
COMMENT ON TABLE s2_semantic_pasre_info IS 'user_department_info';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_pv_uv_statis`
|
||||
(
|
||||
`imp_date` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`user_name` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`page` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL
|
||||
CREATE TABLE IF NOT EXISTS `s2_pv_uv_statis` (
|
||||
`imp_date` varchar(200) NOT NULL,
|
||||
`user_name` varchar(200) NOT NULL,
|
||||
`page` varchar(200) NOT NULL
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_semantic_pasre_info IS 'user_access_info';
|
||||
COMMENT ON TABLE s2_semantic_pasre_info IS 'user_access_info';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `s2_stay_time_statis`
|
||||
(
|
||||
`imp_date` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`user_name` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS `s2_stay_time_statis` (
|
||||
`imp_date` varchar(200) NOT NULL,
|
||||
`user_name` varchar(200) NOT NULL,
|
||||
`stay_hours` DOUBLE NOT NULL,
|
||||
`page` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL
|
||||
`page` varchar(200) NOT NULL
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE s2_stay_time_statis IS 's2_stay_time_statis_info';
|
||||
COMMENT ON TABLE s2_stay_time_statis IS 's2_stay_time_statis_info';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `singer`
|
||||
(
|
||||
`imp_date` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`singer_name` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`act_area` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`song_name` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
`genre` varchar
|
||||
(
|
||||
200
|
||||
) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS `singer` (
|
||||
`imp_date` varchar(200) NOT NULL,
|
||||
`singer_name` varchar(200) NOT NULL,
|
||||
`act_area` varchar(200) NOT NULL,
|
||||
`song_name` varchar(200) NOT NULL,
|
||||
`genre` varchar(200) NOT NULL,
|
||||
`js_play_cnt` bigINT DEFAULT NULL,
|
||||
`down_cnt` bigINT DEFAULT NULL,
|
||||
`favor_cnt` bigINT DEFAULT NULL
|
||||
);
|
||||
COMMENT
|
||||
ON TABLE singer IS 'singer_info';
|
||||
COMMENT ON TABLE singer IS 'singer_info';
|
||||
|
||||
|
||||
|
||||
@@ -46,8 +46,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近90天的日志-->
|
||||
<maxHistory>90</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
@@ -56,7 +55,7 @@
|
||||
<!--日志输出编码格式化-->
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>%d [%thread] %-5level [%X{TRACE_ID}] %logger{36} - %msg%n</pattern>
|
||||
<pattern>%d [%thread] %-5level [%X{TRACE_ID}] %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
@@ -75,8 +74,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近30天的日志-->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
|
||||
@@ -71,7 +71,7 @@ public class ConfigureDemo implements ApplicationListener<ApplicationReadyEvent>
|
||||
}
|
||||
|
||||
public void addSampleChats() throws Exception {
|
||||
chatService.addChat(user, "样例对话1");
|
||||
chatService.addChat(user, "样例对话1", 1);
|
||||
|
||||
parseAndExecute(1, "超音数 访问次数");
|
||||
parseAndExecute(1, "按部门统计");
|
||||
@@ -79,7 +79,7 @@ public class ConfigureDemo implements ApplicationListener<ApplicationReadyEvent>
|
||||
}
|
||||
|
||||
public void addSampleChats2() throws Exception {
|
||||
chatService.addChat(user, "样例对话2");
|
||||
chatService.addChat(user, "样例对话2", 1);
|
||||
|
||||
parseAndExecute(2, "alice 停留时长");
|
||||
parseAndExecute(2, "对比alice和lucy的访问次数");
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.tencent.supersonic.db;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
@@ -9,6 +8,8 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
|
||||
@Configuration
|
||||
@MapperScan(value = "com.tencent.supersonic", annotationClass = Mapper.class)
|
||||
|
||||
@@ -32,9 +32,10 @@ com.tencent.supersonic.auth.api.authentication.adaptor.UserAdaptor=\
|
||||
|
||||
com.tencent.supersonic.chat.api.component.SemanticCorrector=\
|
||||
com.tencent.supersonic.chat.corrector.DateFieldCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldValueCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldNameCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FunctionCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.TableNameCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.QueryFilterAppend, \
|
||||
com.tencent.supersonic.chat.corrector.SelectFieldAppendCorrector
|
||||
com.tencent.supersonic.chat.corrector.SelectFieldAppendCorrector, \
|
||||
com.tencent.supersonic.chat.corrector.FieldValueCorrector
|
||||
|
||||
@@ -9,7 +9,7 @@ insert into s2_user (id, `name`, password, display_name, email) values (5, 'alic
|
||||
insert into s2_domain (id, `name`, biz_name, parent_id, status, created_at, created_by, updated_at, updated_by, `admin`, admin_org, viewer, view_org) VALUES(1, '超音数', 'supersonic', 0, 1, '2023-05-24 00:00:00', 'admin', '2023-05-24 00:00:00', 'admin', 'admin', '', 'admin,tom,jack', 'admin' );
|
||||
insert into s2_model (id, `name`, biz_name, domain_id, created_at, created_by, updated_at, updated_by, `admin`, admin_org, is_open, viewer, view_org, entity) VALUES(1, '超音数', 'supersonic', 1, '2023-05-24 00:00:00', 'admin', '2023-05-24 00:00:00', 'admin', 'admin', '', 0, 'admin,tom,jack', 'admin','' );
|
||||
insert into s2_model (id, `name`, biz_name, domain_id, created_at, created_by, updated_at, updated_by, `admin`, admin_org, is_open, viewer, view_org, entity) VALUES(2, '艺人库', 'singer', 1, '2023-05-24 00:00:00', 'admin', '2023-05-24 00:00:00', 'admin', 'admin', '', 0, 'admin,tom,jack', 'admin','{"entityId": 7, "names": ["歌手", "艺人"]}' );
|
||||
insert into s2_database (id, domain_id , `name`, description, `type` ,config ,created_at ,created_by ,updated_at ,updated_by) VALUES(1, 1, 'H2数据实例', '', 'h2', '{"password":"semantic","url":"jdbc:h2:mem:semantic;DATABASE_TO_UPPER=false","userName":"root"}', '2023-05-24 00:00:00', 'admin', '2023-05-24 00:00:00', 'admin');
|
||||
insert into s2_database (id, `name`, description, `type` ,config ,created_at ,created_by ,updated_at ,updated_by, `admin`) VALUES(1, 'H2数据实例', '', 'h2', '{"password":"semantic","url":"jdbc:h2:mem:semantic;DATABASE_TO_UPPER=false","userName":"root"}', '2023-05-24 00:00:00', 'admin', '2023-05-24 00:00:00', 'admin', 'admin');
|
||||
insert into s2_datasource (id , model_id, `name`, biz_name, description, database_id ,datasource_detail, created_at, created_by, updated_at, updated_by ) VALUES(1, 1, '停留时长统计', 's2_stay_time_statis', '停留时长统计', 1, '{"dimensions":[{"bizName":"imp_date","dateFormat":"yyyy-MM-dd","expr":"imp_date","isCreateDimension":0,"type":"time","typeParams":{"isPrimary":"true","timeGranularity":"day"}},{"bizName":"page","dateFormat":"yyyy-MM-dd","expr":"page","isCreateDimension":0,"type":"categorical"}],"identifiers":[{"bizName":"user_name","name":"用户名","type":"primary"}],"measures":[{"agg":"sum","bizName":"s2_stay_time_statis_stay_hours","expr":"stay_hours","isCreateMetric":1,"name":"停留时长"}],"queryType":"sql_query","sqlQuery":"SELECT imp_date, page,user_name,stay_hours FROM s2_stay_time_statis"}', '2023-05-25 00:00:00', 'admin', '2023-05-25 00:00:00', 'admin');
|
||||
insert into s2_datasource (id , model_id, `name`, biz_name, description, database_id ,datasource_detail, created_at, created_by, updated_at, updated_by ) VALUES(2, 1, 'PVUV统计', 's2_pv_uv_statis', 'PVUV统计', 1, '{"dimensions":[{"bizName":"imp_date","dateFormat":"yyyy-MM-dd","expr":"imp_date","isCreateDimension":0,"type":"time","typeParams":{"isPrimary":"true","timeGranularity":"day"}},{"bizName":"page","dateFormat":"yyyy-MM-dd","expr":"page","isCreateDimension":0,"type":"categorical"}],"identifiers":[{"bizName":"user_name","name":"用户名","type":"primary"}],"measures":[{"agg":"sum","bizName":"s2_pv_uv_statis_pv","expr":"pv","isCreateMetric":1,"name":"访问次数"},{"agg":"count_distinct","bizName":"s2_pv_uv_statis_uv","expr":"uv","isCreateMetric":1,"name":"访问人数"}],"queryType":"sql_query","sqlQuery":"SELECT imp_date, user_name,page,1 as pv, user_name as uv FROM s2_pv_uv_statis"}', '2023-05-25 00:00:00', 'admin', '2023-05-25 00:00:00', 'admin');
|
||||
insert into s2_datasource (id , model_id, `name`, biz_name, description, database_id ,datasource_detail, created_at, created_by, updated_at, updated_by ) VALUES(3, 1, '用户部门', 'user_department', '用户部门', 1, '{"dimensions":[{"bizName":"department","dateFormat":"yyyy-MM-dd","expr":"department","isCreateDimension":1,"name":"部门","type":"categorical"}],"identifiers":[{"bizName":"user_name","name":"用户名","type":"primary"}],"measures":[],"queryType":"sql_query","sqlQuery":"SELECT user_name,department FROM s2_user_department"}', '2023-05-25 00:00:00', 'admin', '2023-05-25 00:00:00', 'admin');
|
||||
|
||||
@@ -13,6 +13,7 @@ CREATE TABLE IF NOT EXISTS `s2_chat_context`
|
||||
CREATE TABLE IF NOT EXISTS `s2_chat`
|
||||
(
|
||||
`chat_id` BIGINT auto_increment ,-- AUTO_INCREMENT,
|
||||
`agent_id` INT DEFAULT NULL,
|
||||
`chat_name` varchar(100) DEFAULT NULL,
|
||||
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
|
||||
`last_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
|
||||
@@ -133,7 +134,6 @@ COMMENT ON TABLE s2_model IS 'model information';
|
||||
|
||||
CREATE TABLE `s2_database` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`domain_id` INT NOT NULL ,
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`version` varchar(64) DEFAULT NULL ,
|
||||
@@ -143,6 +143,8 @@ CREATE TABLE `s2_database` (
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar(100) NOT NULL,
|
||||
`admin` varchar(500) NOT NULL,
|
||||
`viewer` varchar(500) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT ON TABLE s2_database IS 'database instance table';
|
||||
|
||||
@@ -1,79 +1,85 @@
|
||||
create table supersonic_sit.s2_auth_groups
|
||||
(
|
||||
group_id int not null
|
||||
group_id int not null
|
||||
primary key,
|
||||
config varchar(2048) null
|
||||
) collate = utf8mb4_unicode_ci;
|
||||
)
|
||||
collate = utf8mb4_unicode_ci;
|
||||
|
||||
create table supersonic_sit.s2_available_date_info
|
||||
(
|
||||
id int auto_increment
|
||||
primary key,
|
||||
item_id int not null,
|
||||
type varchar(255) not null,
|
||||
date_format varchar(64) not null,
|
||||
start_date varchar(64) null,
|
||||
end_date varchar(64) null,
|
||||
unavailable_date text null,
|
||||
created_at timestamp default CURRENT_TIMESTAMP not null,
|
||||
created_by varchar(100) not null,
|
||||
updated_at timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP,
|
||||
updated_by varchar(100) not null,
|
||||
status int default 0 null
|
||||
) collate = utf8mb4_unicode_ci;
|
||||
item_id int not null,
|
||||
type varchar(255) not null,
|
||||
date_format varchar(64) not null,
|
||||
start_date varchar(64) null,
|
||||
end_date varchar(64) null,
|
||||
unavailable_date text null,
|
||||
created_at timestamp default CURRENT_TIMESTAMP not null,
|
||||
created_by varchar(100) not null,
|
||||
updated_at timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP,
|
||||
updated_by varchar(100) not null,
|
||||
status int default 0 null
|
||||
)
|
||||
collate = utf8mb4_unicode_ci;
|
||||
|
||||
create table supersonic_sit.s2_chat
|
||||
(
|
||||
chat_id bigint(8) auto_increment
|
||||
primary key,
|
||||
chat_name varchar(100) null,
|
||||
create_time datetime null,
|
||||
last_time datetime null,
|
||||
creator varchar(30) null,
|
||||
last_question varchar(200) null,
|
||||
chat_name varchar(100) null,
|
||||
create_time datetime null,
|
||||
last_time datetime null,
|
||||
creator varchar(30) null,
|
||||
last_question varchar(200) null,
|
||||
is_delete int(2) default 0 null comment 'is deleted',
|
||||
is_top int(2) default 0 null comment 'is top'
|
||||
) charset = utf8;
|
||||
)
|
||||
charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_chat_config
|
||||
(
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`domain_id` bigint(20) DEFAULT NULL COMMENT '主题域id',
|
||||
`chat_detail_config` mediumtext COMMENT '明细模式配置信息',
|
||||
`chat_agg_config` mediumtext COMMENT '指标模式配置信息',
|
||||
`recommended_questions` mediumtext COMMENT '推荐问题配置',
|
||||
`created_at` datetime NOT NULL COMMENT '创建时间',
|
||||
`updated_at` datetime NOT NULL COMMENT '更新时间',
|
||||
`created_by` varchar(100) NOT NULL COMMENT '创建人',
|
||||
`updated_by` varchar(100) NOT NULL COMMENT '更新人',
|
||||
`status` int(10) NOT NULL COMMENT '主题域扩展信息状态, 0-删除,1-生效',
|
||||
PRIMARY KEY (`id`)
|
||||
) comment '主题域扩展信息表' charset = utf8;
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`domain_id` bigint(20) DEFAULT NULL COMMENT '主题域id',
|
||||
`chat_detail_config` mediumtext COMMENT '明细模式配置信息',
|
||||
`chat_agg_config` mediumtext COMMENT '指标模式配置信息',
|
||||
`recommended_questions` mediumtext COMMENT '推荐问题配置',
|
||||
`created_at` datetime NOT NULL COMMENT '创建时间',
|
||||
`updated_at` datetime NOT NULL COMMENT '更新时间',
|
||||
`created_by` varchar(100) NOT NULL COMMENT '创建人',
|
||||
`updated_by` varchar(100) NOT NULL COMMENT '更新人',
|
||||
`status` int(10) NOT NULL COMMENT '主题域扩展信息状态, 0-删除,1-生效',
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
comment '主题域扩展信息表' charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_chat_context
|
||||
(
|
||||
chat_id bigint not null comment 'context chat id'
|
||||
primary key,
|
||||
modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment 'row modify time',
|
||||
user varchar(64) null comment 'row modify user',
|
||||
query_text text null comment 'query text',
|
||||
semantic_parse text null comment 'parse data',
|
||||
ext_data text null comment 'extend data'
|
||||
) charset = utf8;
|
||||
user varchar(64) null comment 'row modify user',
|
||||
query_text text null comment 'query text',
|
||||
semantic_parse text null comment 'parse data',
|
||||
ext_data text null comment 'extend data'
|
||||
)
|
||||
charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_chat_query
|
||||
(
|
||||
question_id bigint auto_increment
|
||||
primary key,
|
||||
create_time timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP,
|
||||
query_text mediumtext null,
|
||||
user_name varchar(150) null,
|
||||
query_state int(1) null,
|
||||
query_text mediumtext null,
|
||||
user_name varchar(150) null,
|
||||
query_state int(1) null,
|
||||
chat_id bigint not null,
|
||||
query_response mediumtext not null,
|
||||
score int default 0 null,
|
||||
feedback varchar(1024) default '' null
|
||||
) charset = utf8;
|
||||
score int default 0 null,
|
||||
feedback varchar(1024) default '' null
|
||||
)
|
||||
charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_database
|
||||
(
|
||||
@@ -82,14 +88,15 @@ create table supersonic_sit.s2_database
|
||||
domain_id bigint not null comment '主题域ID',
|
||||
name varchar(255) not null comment '名称',
|
||||
description varchar(500) null comment '描述',
|
||||
version varchar(64) null comment '版本',
|
||||
version varchar(64) null comment '版本',
|
||||
type varchar(20) not null comment '类型 mysql,clickhouse,tdw',
|
||||
config text not null comment '配置信息',
|
||||
created_at datetime not null comment '创建时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
updated_at datetime not null comment '更新时间',
|
||||
updated_by varchar(100) not null comment '更新人'
|
||||
) comment '数据库实例表' charset = utf8;
|
||||
)
|
||||
comment '数据库实例表' charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_datasource
|
||||
(
|
||||
@@ -105,140 +112,147 @@ create table supersonic_sit.s2_datasource
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
updated_at datetime not null comment '更新时间',
|
||||
updated_by varchar(100) not null comment '更新人'
|
||||
) charset = utf8;
|
||||
)
|
||||
charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_datasource_rela
|
||||
(
|
||||
id bigint auto_increment
|
||||
primary key,
|
||||
domain_id bigint null,
|
||||
datasource_from bigint null,
|
||||
datasource_to bigint null,
|
||||
domain_id bigint null,
|
||||
datasource_from bigint null,
|
||||
datasource_to bigint null,
|
||||
join_key varchar(100) null,
|
||||
created_at datetime null,
|
||||
created_at datetime null,
|
||||
created_by varchar(100) null,
|
||||
updated_at datetime null,
|
||||
updated_at datetime null,
|
||||
updated_by varchar(100) null
|
||||
) charset = utf8;
|
||||
)
|
||||
charset = utf8;
|
||||
|
||||
|
||||
create table supersonic_sit.s2_dimension
|
||||
(
|
||||
id bigint auto_increment comment '维度ID'
|
||||
primary key,
|
||||
domain_id bigint not null comment '主题域id',
|
||||
datasource_id bigint not null comment '所属数据源id',
|
||||
name varchar(255) not null comment '维度名称',
|
||||
biz_name varchar(255) not null comment '字段名称',
|
||||
description varchar(500) not null comment '描述',
|
||||
status int(10) not null comment '维度状态,0正常,1下架,2删除',
|
||||
sensitive_level int(10) null comment '敏感级别',
|
||||
type varchar(50) not null comment '维度类型 categorical,time',
|
||||
type_params text null comment '类型参数',
|
||||
expr text not null comment '表达式',
|
||||
created_at datetime not null comment '创建时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
updated_at datetime not null comment '更新时间',
|
||||
updated_by varchar(100) not null comment '更新人',
|
||||
semantic_type varchar(20) not null comment '语义类型DATE, ID, CATEGORY',
|
||||
domain_id bigint not null comment '主题域id',
|
||||
datasource_id bigint not null comment '所属数据源id',
|
||||
name varchar(255) not null comment '维度名称',
|
||||
biz_name varchar(255) not null comment '字段名称',
|
||||
description varchar(500) not null comment '描述',
|
||||
status int(10) not null comment '维度状态,0正常,1下架,2删除',
|
||||
sensitive_level int(10) null comment '敏感级别',
|
||||
type varchar(50) not null comment '维度类型 categorical,time',
|
||||
type_params text null comment '类型参数',
|
||||
expr text not null comment '表达式',
|
||||
created_at datetime not null comment '创建时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
updated_at datetime not null comment '更新时间',
|
||||
updated_by varchar(100) not null comment '更新人',
|
||||
semantic_type varchar(20) not null comment '语义类型DATE, ID, CATEGORY',
|
||||
alias varchar(500) collate utf8_unicode_ci null,
|
||||
default_values varchar(500) DEFAULT NULL,
|
||||
dim_value_maps varchar(500) DEFAULT NULL
|
||||
) comment '维度表' charset = utf8;
|
||||
default_values varchar(500) DEFAULT NULL,
|
||||
dim_value_maps varchar(500) DEFAULT NULL
|
||||
)
|
||||
comment '维度表' charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_domain
|
||||
(
|
||||
id bigint auto_increment comment '自增ID'
|
||||
primary key,
|
||||
name varchar(255) null comment '主题域名称',
|
||||
biz_name varchar(255) null comment '内部名称',
|
||||
parent_id bigint default 0 null comment '父主题域ID',
|
||||
status int(10) not null comment '主题域状态',
|
||||
created_at datetime null comment '创建时间',
|
||||
created_by varchar(100) null comment '创建人',
|
||||
updated_at datetime null comment '更新时间',
|
||||
updated_by varchar(100) null comment '更新人',
|
||||
admin varchar(3000) null comment '主题域管理员',
|
||||
admin_org varchar(3000) null comment '主题域管理员组织',
|
||||
is_open int null comment '主题域是否公开',
|
||||
viewer varchar(3000) null comment '主题域可用用户',
|
||||
view_org varchar(3000) null comment '主题域可用组织',
|
||||
name varchar(255) null comment '主题域名称',
|
||||
biz_name varchar(255) null comment '内部名称',
|
||||
parent_id bigint default 0 null comment '父主题域ID',
|
||||
status int(10) not null comment '主题域状态',
|
||||
created_at datetime null comment '创建时间',
|
||||
created_by varchar(100) null comment '创建人',
|
||||
updated_at datetime null comment '更新时间',
|
||||
updated_by varchar(100) null comment '更新人',
|
||||
admin varchar(3000) null comment '主题域管理员',
|
||||
admin_org varchar(3000) null comment '主题域管理员组织',
|
||||
is_open int null comment '主题域是否公开',
|
||||
viewer varchar(3000) null comment '主题域可用用户',
|
||||
view_org varchar(3000) null comment '主题域可用组织',
|
||||
entity varchar(500) DEFAULT NULL COMMENT '主题域实体信息'
|
||||
) comment '主题域基础信息表' charset = utf8;
|
||||
)
|
||||
comment '主题域基础信息表' charset = utf8;
|
||||
|
||||
|
||||
create table supersonic_sit.s2_domain_extend
|
||||
(
|
||||
id bigint unsigned auto_increment
|
||||
primary key,
|
||||
domain_id bigint null comment '主题域id',
|
||||
domain_id bigint null comment '主题域id',
|
||||
default_metrics varchar(655) null comment '默认指标',
|
||||
visibility mediumtext null comment '不可见的维度/指标信息',
|
||||
entity_info mediumtext null comment '实体信息',
|
||||
dictionary_info mediumtext null comment '字典相关的维度设置信息',
|
||||
visibility mediumtext null comment '不可见的维度/指标信息',
|
||||
entity_info mediumtext null comment '实体信息',
|
||||
dictionary_info mediumtext null comment '字典相关的维度设置信息',
|
||||
created_at datetime not null comment '创建时间',
|
||||
updated_at datetime not null comment '更新时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
updated_by varchar(100) not null comment '更新人',
|
||||
status int(10) not null comment '主题域扩展信息状态, 0-删除,1-生效'
|
||||
) comment '主题域扩展信息表' collate = utf8mb4_unicode_ci;
|
||||
status int(10) not null comment '主题域扩展信息状态, 0-删除,1-生效'
|
||||
)
|
||||
comment '主题域扩展信息表' collate = utf8mb4_unicode_ci;
|
||||
|
||||
|
||||
create table supersonic_sit.s2_metric
|
||||
(
|
||||
id bigint auto_increment
|
||||
primary key,
|
||||
domain_id bigint not null comment '主体域ID',
|
||||
name varchar(255) not null comment '指标名称',
|
||||
biz_name varchar(255) not null comment '字段名称',
|
||||
description varchar(500) null comment '描述',
|
||||
status int(10) not null comment '指标状态,0正常,1下架,2删除',
|
||||
sensitive_level int(10) not null comment '敏感级别',
|
||||
type varchar(50) not null comment '指标类型 proxy,expr',
|
||||
type_params text not null comment '类型参数',
|
||||
created_at datetime not null comment '创建时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
updated_at datetime not null comment '更新时间',
|
||||
updated_by varchar(100) not null comment '更新人',
|
||||
data_format_type varchar(50) null comment '数值类型',
|
||||
data_format varchar(500) null comment '数值类型参数',
|
||||
domain_id bigint not null comment '主体域ID',
|
||||
name varchar(255) not null comment '指标名称',
|
||||
biz_name varchar(255) not null comment '字段名称',
|
||||
description varchar(500) null comment '描述',
|
||||
status int(10) not null comment '指标状态,0正常,1下架,2删除',
|
||||
sensitive_level int(10) not null comment '敏感级别',
|
||||
type varchar(50) not null comment '指标类型 proxy,expr',
|
||||
type_params text not null comment '类型参数',
|
||||
created_at datetime not null comment '创建时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
updated_at datetime not null comment '更新时间',
|
||||
updated_by varchar(100) not null comment '更新人',
|
||||
data_format_type varchar(50) null comment '数值类型',
|
||||
data_format varchar(500) null comment '数值类型参数',
|
||||
alias varchar(500) collate utf8_unicode_ci null
|
||||
) comment '指标表' charset = utf8;
|
||||
)
|
||||
comment '指标表' charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_query_stat_info
|
||||
(
|
||||
id bigint unsigned auto_increment
|
||||
primary key,
|
||||
trace_id varchar(200) null comment '查询标识',
|
||||
domain_id bigint null comment '主题域ID',
|
||||
user varchar(200) null comment '执行sql的用户',
|
||||
created_at datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||
query_type varchar(200) null comment '查询对应的场景',
|
||||
query_type_back int(10) default 0 null comment '查询类型, 0-正常查询, 1-预刷类型',
|
||||
query_sql_cmd mediumtext null comment '对应查询的struct',
|
||||
sql_cmd_md5 varchar(200) null comment 'sql md5值',
|
||||
query_struct_cmd mediumtext null comment '对应查询的struct',
|
||||
struct_cmd_md5 varchar(200) null comment 'sql md5值',
|
||||
`sql` mediumtext null comment '对应查询的sql',
|
||||
sql_md5 varchar(200) null comment 'sql md5值',
|
||||
query_engine varchar(20) null comment '查询引擎',
|
||||
elapsed_ms bigint(10) null comment '查询耗时',
|
||||
query_state varchar(20) null comment '查询最终状态',
|
||||
native_query int(10) null comment '1-明细查询,0-聚合查询',
|
||||
start_date varchar(50) null comment 'sql开始日期',
|
||||
end_date varchar(50) null comment 'sql结束日期',
|
||||
dimensions mediumtext null comment 'sql 涉及的维度',
|
||||
metrics mediumtext null comment 'sql 涉及的指标',
|
||||
select_cols mediumtext null comment 'sql select部分涉及的标签',
|
||||
agg_cols mediumtext null comment 'sql agg部分涉及的标签',
|
||||
filter_cols mediumtext null comment 'sql where部分涉及的标签',
|
||||
group_by_cols mediumtext null comment 'sql grouy by部分涉及的标签',
|
||||
order_by_cols mediumtext null comment 'sql order by部分涉及的标签',
|
||||
use_result_cache tinyint(1) default -1 null comment '是否命中sql缓存',
|
||||
use_sql_cache tinyint(1) default -1 null comment '是否命中sql缓存',
|
||||
sql_cache_key mediumtext null comment '缓存的key',
|
||||
result_cache_key mediumtext null comment '缓存的key'
|
||||
) comment '查询统计信息表' collate = utf8mb4_unicode_ci;
|
||||
trace_id varchar(200) null comment '查询标识',
|
||||
domain_id bigint null comment '主题域ID',
|
||||
user varchar(200) null comment '执行sql的用户',
|
||||
created_at datetime default CURRENT_TIMESTAMP null comment '创建时间',
|
||||
query_type varchar(200) null comment '查询对应的场景',
|
||||
query_type_back int(10) default 0 null comment '查询类型, 0-正常查询, 1-预刷类型',
|
||||
query_sql_cmd mediumtext null comment '对应查询的struct',
|
||||
sql_cmd_md5 varchar(200) null comment 'sql md5值',
|
||||
query_struct_cmd mediumtext null comment '对应查询的struct',
|
||||
struct_cmd_md5 varchar(200) null comment 'sql md5值',
|
||||
`sql` mediumtext null comment '对应查询的sql',
|
||||
sql_md5 varchar(200) null comment 'sql md5值',
|
||||
query_engine varchar(20) null comment '查询引擎',
|
||||
elapsed_ms bigint(10) null comment '查询耗时',
|
||||
query_state varchar(20) null comment '查询最终状态',
|
||||
native_query int(10) null comment '1-明细查询,0-聚合查询',
|
||||
start_date varchar(50) null comment 'sql开始日期',
|
||||
end_date varchar(50) null comment 'sql结束日期',
|
||||
dimensions mediumtext null comment 'sql 涉及的维度',
|
||||
metrics mediumtext null comment 'sql 涉及的指标',
|
||||
select_cols mediumtext null comment 'sql select部分涉及的标签',
|
||||
agg_cols mediumtext null comment 'sql agg部分涉及的标签',
|
||||
filter_cols mediumtext null comment 'sql where部分涉及的标签',
|
||||
group_by_cols mediumtext null comment 'sql grouy by部分涉及的标签',
|
||||
order_by_cols mediumtext null comment 'sql order by部分涉及的标签',
|
||||
use_result_cache tinyint(1) default -1 null comment '是否命中sql缓存',
|
||||
use_sql_cache tinyint(1) default -1 null comment '是否命中sql缓存',
|
||||
sql_cache_key mediumtext null comment '缓存的key',
|
||||
result_cache_key mediumtext null comment '缓存的key'
|
||||
)
|
||||
comment '查询统计信息表' collate = utf8mb4_unicode_ci;
|
||||
|
||||
create index domain_index
|
||||
on supersonic_sit.s2_query_stat_info (domain_id);
|
||||
@@ -247,42 +261,67 @@ create table supersonic_sit.s2_semantic_pasre_info
|
||||
(
|
||||
id bigint unsigned auto_increment
|
||||
primary key,
|
||||
trace_id varchar(200) not null comment '查询标识',
|
||||
domain_id bigint not null comment '主体域ID',
|
||||
dimensions mediumtext null comment '查询相关的维度信息',
|
||||
metrics mediumtext null comment '查询相关的指标信息',
|
||||
orders mediumtext null comment '查询相关的排序信息',
|
||||
filters mediumtext null comment '查询相关的过滤信息',
|
||||
date_info mediumtext null comment '查询相关的日期信息',
|
||||
`limit` bigint not null comment '查询相关的limit信息',
|
||||
trace_id varchar(200) not null comment '查询标识',
|
||||
domain_id bigint not null comment '主体域ID',
|
||||
dimensions mediumtext null comment '查询相关的维度信息',
|
||||
metrics mediumtext null comment '查询相关的指标信息',
|
||||
orders mediumtext null comment '查询相关的排序信息',
|
||||
filters mediumtext null comment '查询相关的过滤信息',
|
||||
date_info mediumtext null comment '查询相关的日期信息',
|
||||
`limit` bigint not null comment '查询相关的limit信息',
|
||||
native_query tinyint(1) default 0 not null comment '1-明细查询,0-聚合查询',
|
||||
`sql` mediumtext null comment '解析后的sql',
|
||||
created_at datetime not null comment '创建时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
status int(10) not null comment '运行状态',
|
||||
elapsed_ms bigint(10) null comment 'sql解析耗时'
|
||||
`sql` mediumtext null comment '解析后的sql',
|
||||
created_at datetime not null comment '创建时间',
|
||||
created_by varchar(100) not null comment '创建人',
|
||||
status int(10) not null comment '运行状态',
|
||||
elapsed_ms bigint(10) null comment 'sql解析耗时'
|
||||
) comment '语义层sql解析信息表' charset = utf8;
|
||||
|
||||
create table supersonic_sit.s2_view_info
|
||||
(
|
||||
id bigint auto_increment
|
||||
primary key,
|
||||
domain_id bigint null,
|
||||
type varchar(20) null comment 'datasource、dimension、metric',
|
||||
config text null comment 'config detail',
|
||||
created_at datetime null,
|
||||
domain_id bigint null,
|
||||
type varchar(20) null comment 'datasource、dimension、metric',
|
||||
config text null comment 'config detail',
|
||||
created_at datetime null,
|
||||
created_by varchar(100) null,
|
||||
updated_at datetime null,
|
||||
updated_at datetime null,
|
||||
updated_by varchar(100) not null
|
||||
) charset = utf8;
|
||||
|
||||
|
||||
CREATE TABLE `s2_user`
|
||||
(
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`display_name` varchar(100) DEFAULT NULL,
|
||||
`password` varchar(100) DEFAULT NULL,
|
||||
`email` varchar(100) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
|
||||
CREATE TABLE `s2_user` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`display_name` varchar(100) DEFAULT NULL,
|
||||
`password` varchar(100) DEFAULT NULL,
|
||||
`email` varchar(100) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
|
||||
CREATE TABLE s2_chat_statistics (
|
||||
`question_id` BIGINT NOT NULL,
|
||||
`chat_id` BIGINT NOT NULL ,
|
||||
`user_name` varchar(150) DEFAULT NULL COMMENT '',
|
||||
`query_text` varchar(200),
|
||||
`interface_name` varchar(100) DEFAULT NULL COMMENT '',
|
||||
`cost` INT(6) DEFAULT 0 ,
|
||||
`type` INT DEFAULT NULL ,
|
||||
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
index `commonIndex` (`question_id`)
|
||||
);
|
||||
|
||||
CREATE TABLE `s2_chat_parse` (
|
||||
`question_id` bigint(20) NOT NULL,
|
||||
`chat_id` bigint(20) NOT NULL,
|
||||
`parse_id` int(11) NOT NULL,
|
||||
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`query_text` varchar(500) DEFAULT NULL,
|
||||
`user_name` varchar(150) DEFAULT NULL,
|
||||
`parse_info` mediumtext NOT NULL,
|
||||
`is_candidate` int DEFAULT 1 COMMENT '1是candidate,0是selected',
|
||||
index `commonIndex` (`question_id`)
|
||||
)
|
||||
|
||||
@@ -38,3 +38,11 @@ update s2_plugin set config = replace(config, 'domain', 'model');
|
||||
--20230823
|
||||
alter table s2_chat_query add column agent_id int after question_id;
|
||||
alter table s2_chat_query change column query_response query_result mediumtext;
|
||||
|
||||
--20230829
|
||||
alter table s2_database add column admin varchar(500);
|
||||
alter table s2_database add column viewer varchar(500);
|
||||
alter table s2_database drop column domain_id;
|
||||
|
||||
--20230831
|
||||
alter table s2_chat add column agent_id int after chat_id;
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true">
|
||||
<contextName>logback</contextName>
|
||||
<!-- <property name="LOG_PATH" value="${logback.logdir:-logs}"/>-->
|
||||
<!-- <property name="LOG_PATH" value="${logback.logdir:-logs}"/>-->
|
||||
<property name="LOG_PATH" value="${LOG_PATH:-logs}"/>
|
||||
<property name="LOG_APPNAME" value="chat"/>
|
||||
<!--输出到控制台-->
|
||||
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} %line - %msg%n</pattern>
|
||||
<pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} %line - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
@@ -46,8 +46,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近90天的日志-->
|
||||
<maxHistory>90</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
@@ -75,8 +74,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近30天的日志-->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#hanlp mapper helper
|
||||
|
||||
one.detection.size=8
|
||||
one.detection.max.size=20
|
||||
metric.dimension.min.threshold=0.3
|
||||
metric.dimension.threshold=0.3
|
||||
dimension.value.threshold=0.5
|
||||
|
||||
function.bonus.threshold=201
|
||||
|
||||
#SatisfactionChecker
|
||||
long.text.threshold=0.8
|
||||
short.text.threshold=0.5
|
||||
query.text.length.threshold=10
|
||||
|
||||
|
||||
candidate.threshold=0.2
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.tencent.supersonic.integration;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import com.tencent.supersonic.StandaloneLauncher;
|
||||
import com.tencent.supersonic.chat.api.pojo.ChatContext;
|
||||
import com.tencent.supersonic.chat.api.pojo.SchemaElement;
|
||||
@@ -16,9 +14,6 @@ import com.tencent.supersonic.chat.service.ChatService;
|
||||
import com.tencent.supersonic.chat.service.ConfigService;
|
||||
import com.tencent.supersonic.chat.service.QueryService;
|
||||
import com.tencent.supersonic.util.DataUtils;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
@@ -27,6 +22,12 @@ import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = StandaloneLauncher.class)
|
||||
@ActiveProfiles("local")
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.tencent.supersonic.integration;
|
||||
|
||||
import static com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum.NONE;
|
||||
|
||||
import com.tencent.supersonic.chat.api.pojo.SchemaElement;
|
||||
import com.tencent.supersonic.chat.api.pojo.SemanticParseInfo;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.QueryFilter;
|
||||
@@ -11,9 +9,10 @@ import com.tencent.supersonic.chat.query.rule.metric.MetricEntityQuery;
|
||||
import com.tencent.supersonic.common.pojo.DateConf;
|
||||
import com.tencent.supersonic.semantic.api.query.enums.FilterOperatorEnum;
|
||||
import com.tencent.supersonic.util.DataUtils;
|
||||
import org.junit.Test;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.junit.Test;
|
||||
import static com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum.NONE;
|
||||
|
||||
public class EntityQueryTest extends BaseQueryTest {
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.tencent.supersonic.integration;
|
||||
|
||||
import static com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum.NONE;
|
||||
|
||||
import com.tencent.supersonic.chat.api.pojo.SemanticParseInfo;
|
||||
import com.tencent.supersonic.chat.api.pojo.response.QueryResult;
|
||||
import com.tencent.supersonic.chat.query.rule.metric.MetricFilterQuery;
|
||||
@@ -9,11 +7,14 @@ import com.tencent.supersonic.chat.query.rule.metric.MetricGroupByQuery;
|
||||
import com.tencent.supersonic.common.pojo.DateConf;
|
||||
import com.tencent.supersonic.semantic.api.query.enums.FilterOperatorEnum;
|
||||
import com.tencent.supersonic.util.DataUtils;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Order;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import static com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum.NONE;
|
||||
|
||||
public class MultiTurnsTest extends BaseQueryTest {
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
package com.tencent.supersonic.integration.llm;
|
||||
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.tencent.supersonic.chat.api.component.SemanticParser;
|
||||
import com.tencent.supersonic.chat.api.pojo.ChatContext;
|
||||
import com.tencent.supersonic.chat.api.pojo.QueryContext;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.QueryReq;
|
||||
import com.tencent.supersonic.chat.config.LLMConfig;
|
||||
import com.tencent.supersonic.chat.parser.llm.dsl.LLMDslParser;
|
||||
import com.tencent.supersonic.chat.utils.ComponentFactory;
|
||||
import com.tencent.supersonic.integration.BaseQueryTest;
|
||||
import com.tencent.supersonic.util.DataUtils;
|
||||
import org.junit.Test;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
|
||||
public class LLMDslParserTest extends BaseQueryTest {
|
||||
|
||||
@MockBean
|
||||
protected LLMConfig llmConfig;
|
||||
|
||||
@Test
|
||||
public void parse() throws Exception {
|
||||
String queryText = "周杰伦专辑十一月的萧邦有哪些歌曲";
|
||||
QueryReq queryReq = DataUtils.getQueryContextReq(10, queryText);
|
||||
QueryContext queryContext = new QueryContext();
|
||||
queryContext.setRequest(queryReq);
|
||||
SemanticParser dslParser = ComponentFactory.getSemanticParsers().stream().filter(parser -> {
|
||||
if (parser instanceof LLMDslParser) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
).findFirst().get();
|
||||
|
||||
when(llmConfig.getUrl()).thenReturn("llmUrl");
|
||||
|
||||
ChatContext chatCtx = new ChatContext();
|
||||
dslParser.parse(queryContext, chatCtx);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
com.tencent.supersonic.chat.api.component.SchemaMapper=\
|
||||
com.tencent.supersonic.chat.mapper.HanlpDictMapper
|
||||
|
||||
com.tencent.supersonic.chat.api.component.SemanticParser=\
|
||||
com.tencent.supersonic.chat.parser.rule.QueryModeParser, \
|
||||
com.tencent.supersonic.chat.parser.rule.ContextInheritParser, \
|
||||
@@ -8,13 +9,18 @@ com.tencent.supersonic.chat.api.component.SemanticParser=\
|
||||
com.tencent.supersonic.chat.parser.rule.AggregateTypeParser, \
|
||||
com.tencent.supersonic.chat.parser.llm.interpret.MetricInterpretParser
|
||||
# com.tencent.supersonic.chat.parser.llm.DSLQueryFunction
|
||||
|
||||
com.tencent.supersonic.chat.api.component.QueryProcessor=\
|
||||
com.tencent.supersonic.chat.application.processor.SemanticQueryProcessor
|
||||
|
||||
com.tencent.supersonic.chat.api.component.SemanticLayer=\
|
||||
com.tencent.supersonic.knowledge.semantic.LocalSemanticLayer
|
||||
|
||||
com.tencent.supersonic.chat.query.QuerySelector=\
|
||||
com.tencent.supersonic.chat.query.HeuristicQuerySelector
|
||||
|
||||
com.tencent.supersonic.chat.application.query.DomainResolver=\
|
||||
com.tencent.supersonic.chat.application.query.HeuristicDomainResolver
|
||||
|
||||
com.tencent.supersonic.auth.authentication.interceptor.AuthenticationInterceptor=\
|
||||
com.tencent.supersonic.auth.authentication.interceptor.DefaultAuthenticationInterceptor
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -13,6 +13,7 @@ CREATE TABLE IF NOT EXISTS `s2_chat_context`
|
||||
CREATE TABLE IF NOT EXISTS `s2_chat`
|
||||
(
|
||||
`chat_id` BIGINT auto_increment ,-- AUTO_INCREMENT,
|
||||
`agent_id` INT DEFAULT NULL,
|
||||
`chat_name` varchar(100) DEFAULT NULL,
|
||||
`create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
|
||||
`last_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
|
||||
@@ -148,7 +149,6 @@ COMMENT ON TABLE s2_model IS 'model information';
|
||||
|
||||
CREATE TABLE `s2_database` (
|
||||
`id` INT NOT NULL AUTO_INCREMENT,
|
||||
`domain_id` INT NOT NULL ,
|
||||
`name` varchar(255) NOT NULL ,
|
||||
`description` varchar(500) DEFAULT NULL ,
|
||||
`version` varchar(64) DEFAULT NULL ,
|
||||
@@ -158,6 +158,8 @@ CREATE TABLE `s2_database` (
|
||||
`created_by` varchar(100) NOT NULL ,
|
||||
`updated_at` TIMESTAMP NOT NULL ,
|
||||
`updated_by` varchar(100) NOT NULL,
|
||||
`admin` varchar(500) NOT NULL,
|
||||
`viewer` varchar(500) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
COMMENT ON TABLE s2_database IS 'database instance table';
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true">
|
||||
<contextName>logback</contextName>
|
||||
<!-- <property name="LOG_PATH" value="${logback.logdir:-logs}"/>-->
|
||||
<!-- <property name="LOG_PATH" value="${logback.logdir:-logs}"/>-->
|
||||
<property name="LOG_PATH" value="${LOG_PATH:-logs}"/>
|
||||
<property name="LOG_APPNAME" value="chat"/>
|
||||
<!--输出到控制台-->
|
||||
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} %line - %msg%n</pattern>
|
||||
<pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} %line - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
@@ -46,8 +46,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/error.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近90天的日志-->
|
||||
<maxHistory>90</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
@@ -75,8 +74,7 @@
|
||||
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz
|
||||
</FileNamePattern>
|
||||
<FileNamePattern>${LOG_PATH}/serviceinfo.${LOG_APPNAME}.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
|
||||
<!--只保留最近30天的日志-->
|
||||
<maxHistory>30</maxHistory>
|
||||
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
|
||||
|
||||
Reference in New Issue
Block a user