ELK查詢指令-index過濾

前言
ELK使用HTTP的POST方法送出查詢指令,使用URL位置作為查詢範圍,JSON格式內容作為過濾指令

測試的方法可以用Kibana的工具或postman,也可自己用程式撰寫或用curl

例如:
http://127.0.0.1:9200/myindex/_search
{
  query: {
    match_all: {}
  }
}

curl指令為:
curl -X POST http://127.0.0.1:9200/myindex/_search -d '{ query: { match_all: {} } }'

上面的範例會把myindex的全部資料搜索出來
這篇先簡單較介紹使用URL過濾index的方法



搜索的URL格式

URL的格式如下
http://IP:Port/index名稱/type/_search?額外的參數

IP
在elasticsearch的設定檔中 network.host 所設定的IP,也就是elasticsearch的服務IP

Port
elasticsearch設定檔的 http.port ,預設是9200

index名稱
就是index名稱,可以忽略不寫,代表全部index

type
筆者沒用過type進行搜索,ELK 7 以後取消了type這個東西,可以省略不寫,代表全部的type
額外的參數: 有很多參數可以用,像是可以搜索已經close的index
詳細的參數可以看官方說明: 官方說明

PS : 底下的範例都沒有使用type,也就是全部的type都在搜索範圍



index過濾法

搜索單個index
如: http://127.0.0.1:9200/myindex/_search

指定多個index搜索
使用 , 符號分隔多個index
如: http://127.0.0.1:9200/myindex,goodindex,badindex/_search

搜索相同前綴的index
可以在URL的地方使用 * 符號(又稱為wildcard)
如: myindex-*,可以代表 myindex-20200203, myindex-20200204.....
http://127.0.0.1:9200/myindex-*/_search

全index搜索
在URL的位置上忽略index
如: http://127.0.0.1:9200/_search


後續會再補上,related-DB常用的功能


留言

此網誌的熱門文章

WPA_supplicant的設定方式

DOS指令 -- SET和變數

Nginx server 和 location 優先順序