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年的數據記錄

這裏只是最經常使用的部分,更多用法請看官方文檔

相關文章
相關標籤/搜索