项目调用ES日志检索接口,实现简单的日志界面展示;操作数据,然后通过数据去渲染页面,而不是直接操作DOM
日志检索语法
简单的对基本的语法做一个总结
1.语法关键字
+ - && || ! ( ) { } [ ] ^ “ ~ * ? : /
如果所要查询的查询词中本身包含关键字,则需要用\进行转义(注意是本身!)
例1:rvm:5100/kibana/kibana:6.7.0
例2:[MessageBroker-1]
2.查询词(Term)
支持两种查询词,一种是单一查询词,如”hello”,一种是词组(phrase),如”hello world”。
例1:Unexpected
例2:”not get “
3. 查询域(Field)
在查询语句中,可以指定从哪个域中寻找查询词,如果不指定,则从默认域中查找。
查询域和查询词之间用:分隔,如title:”Do it right”。
:仅对紧跟其后的查询词起作用,如果title:Do it right,则仅表示在title中查询Do,而it right要在默认域中查询。
例1:stream:”stdout”
例2:只搜“1”,可以搜到log和message两个字段都有1,搜 log:“1”,只可以搜到log字段的1
4.通配符查询(Wildcard)
支持两种通配符:?表示一个字符,*表示多个字符。
通配符可以出现在查询词的中间或者末尾,如te?t,test*,te*t,但决不能出现在开始,如*test,?test。
例1:k8s-?
例2: k8s-*
例3:kube-syst*m
5.模糊查询(Fuzzy)
模糊查询的算法是基于Levenshtein Distance,也即当两个词的差别小于某个比例的时候,就算匹配,如roam~0.8,即表示差别小于0.2,相似度大于0.8才算匹配。
例1:fetc~