Elasticsearch Query String 经常使用语法简易教程

Elasticsearch Query String 经常使用语法简易教程

字段匹配

  • 语法格式 field: value

例1:html

Level: ERROR

表示查询日志级别为ERROR的数据记录架构

条件关系 AND, OR, NOT

  • AND 表示与关系

例2:elasticsearch

Level: ERROR AND Team: dealer.arch

表示查询日志级别为ERROR 而且团队是架构组的数据记录;ide

例3:ui

CustomMessage: (error AND exception)

表示查询自定义信息里既包含单词error,也包含单词exception的数据记录url

  • OR 表示或关系

例4:.net

Level: ERROR OR CustomMessage: error

表示查询日志级别为ERROR或自定义信息里包含单词error的数据记录日志

例5:code

Level: (WARN OR ERROR)

表示查询日志级别是ERROR或者WARN的数据记录htm

  • NOT 表示非关系

例6:

NOT Level: ERROR

表示查询日志级别不为ERROR的数据记录

使用括号对条件进行组合

例7:

CustomMessage: (error OR (warn AND exception))

表示查询自定义信息里包含error单词的数据记录或者同时包含单词warn和exception的数据记录

范围查询

例8:

Cost:[100 TO 500]
Cost: (>=100 AND <=500)
Cost: (+>=100 +<=500)

三条语句都表示查询耗时Cost大于等于100毫秒而且小于等于500毫秒的数据记录

例9:

Cost:{100 TO 500}
Cost: (>100 AND <500)
Cost: (+>100 +<500)

三条语句都表示查询耗时Cost大于100毫秒而且小于500毫秒的数据记录。注意和例8比较区间开闭的区别。

例子10:

Cost: [500 TO *}
Cost: >=500

两条语句都表示查询耗时字段Cost大于等于500毫秒的数据记录。TO右边的*表示正无穷

例子11:

Cost: {* TO 100]
Cost: <=100

表示查询耗时字段Cost小于等于100毫秒的数据记录。TO左边的*表示负无穷

例子12:

LogAt: [2012-01-01 TO 2012-12-31]

表示查询时间是2012年的数据记录

这里只是最经常使用的部分,更多用法请看官方文档

相关文章
相关标签/搜索