package com.ycl.scheme;
|
|
import com.ycl.scheme.entity.Keyword;
|
import com.ycl.scheme.entity.KeywordType;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class KeywordExample {
|
|
|
|
private static List<Keyword> keywords= new ArrayList<>();
|
|
static {
|
|
|
//表名
|
Keyword table = Keyword.builder().name("警情通报").keywordType(KeywordType.TABLE_NAME).table("t_info").tableTimeField("create_time").build();
|
keywords.add(table);
|
Keyword table2 = Keyword.builder().name("案件系统").keywordType(KeywordType.TABLE_NAME).table("t_case").tableTimeField("create_time").build();
|
keywords.add(table2);
|
//符号
|
Keyword s1= Keyword.builder().name("并且").keywordType(KeywordType.SYNTAX).code("and").build();
|
keywords.add(s1);
|
|
Keyword s2= Keyword.builder().name("或者").keywordType(KeywordType.SYNTAX).code("or").build();
|
keywords.add(s2);
|
|
Keyword s3= Keyword.builder().name("包含").keywordType(KeywordType.SYNTAX).code("like").regex("['\"]([^'\"]*)['\"]").build();
|
keywords.add(s3);
|
//字段
|
Keyword c1= Keyword.builder().name("警情内容").keywordType(KeywordType.FIELD_NAME).table("t_info").field("content").dataType("String").build();
|
keywords.add(c1);
|
Keyword c2= Keyword.builder().name("部门").keywordType(KeywordType.FIELD_NAME).table("t_info").field("dept_name").dataType("String").build();
|
keywords.add(c2);
|
Keyword c3= Keyword.builder().name("案发地").keywordType(KeywordType.FIELD_NAME).table("t_info").field("address").dataType("String").build();
|
keywords.add(c3);
|
Keyword c4= Keyword.builder().name("涉案金额").keywordType(KeywordType.FIELD_NAME).table("t_info").field("amt").dataType("String").build();
|
keywords.add(c4);
|
|
Keyword c21= Keyword.builder().name("警情内容").keywordType(KeywordType.FIELD_NAME).table("t_case").field("content").dataType("String").build();
|
keywords.add(c21);
|
Keyword c22= Keyword.builder().name("部门").keywordType(KeywordType.FIELD_NAME).table("t_case").field("dept_name").dataType("String").build();
|
keywords.add(c22);
|
Keyword c23= Keyword.builder().name("案发地").keywordType(KeywordType.FIELD_NAME).table("t_case").field("address").dataType("String").build();
|
keywords.add(c23);
|
Keyword c24= Keyword.builder().name("涉案金额").keywordType(KeywordType.FIELD_NAME).table("t_case").field("amt").dataType("String").build();
|
keywords.add(c24);
|
|
//函数 \\((.*?)\\)
|
Keyword f1= Keyword.builder().name("时间范围").keywordType(KeywordType.TIME_RANGE_FUNCTION).regex("\\(\\s*最近\\s*\\d+\\s*天\\s*\\)").build();
|
keywords.add(f1);
|
Keyword f2= Keyword.builder().name("计数").keywordType(KeywordType.FUNCTION).code("count").regex("\\s*\\((.*?)\\)\\s*").build();
|
keywords.add(f2);
|
//特殊值
|
Keyword p1= Keyword.builder().name("最近?天").keywordType(KeywordType.TIME_RANGE).regex("\\d+").build();
|
keywords.add(p1);
|
}
|
|
public static List<Keyword> getKeywords(){
|
return keywords;
|
}
|
|
public static class CanalTriggerBuilder {
|
|
|
|
}
|
}
|