[英]Kibana 6 merging 2 filters
我有2個效果很好的過濾器:1.匹配短語“ NA”
{
"query": {
"match": {
"region.keyword": {
"query": "NA",
"type": "phrase"
}
}
}
}
2.使用腳本化的字段拉過濾器,以顯示不在0-7之間的所有小時數:
{
"script": {
"script": {
"inline": "boolean gte(Supplier s, def v) {return s.get() >= v} boolean lt(Supplier s, def v) {return s.get() < v}gte(() -> { doc['@timestamp'].date.hourOfDay }, params.gte) && lt(() -> { doc['@timestamp'].date.hourOfDay }, params.lt)",
"params": {
"gte": 0,
"lt": 7,
"value": ">=0 <7"
},
"lang": "painless"
}
}
}
我想將其分組為一個過濾器,這樣它的“ NA小時數不會在0-7之間”,這樣我就可以更改區域和時間,並仍然應用其他過濾器。
也不確定如何添加這種自定義過濾器,因為添加過濾器僅允許我輸入1個字段
在使用可視化工具並發現之前,請確保在“ Management -> Index Pattern -> Create index pattern
”下Management -> Index Pattern -> Create index pattern
並添加將在其上應用過濾器的索引的名稱。
現在,合並您在問題中添加的查詢,合並后的查詢將如下所示:
{
"query": {
"bool": {
"must": [
{
"region.keyword": {
"query": "NA",
"type": "phrase"
}
},
{
"script": {
"script": {
"inline": "boolean gte(Supplier s, def v) {return s.get() >= v} boolean lt(Supplier s, def v) {return s.get() < v}gte(() -> { doc['@timestamp'].date.hourOfDay }, params.gte) && lt(() -> { doc['@timestamp'].date.hourOfDay }, params.lt)",
"params": {
"gte": 0,
"lt": 7,
"value": ">=0 <7"
},
"lang": "painless"
}
}
}
]
}
}
}
在Kibana的“ 發現”部分中,在index pattern section
選擇索引名稱(請參閱圖像鏈接) ,然后單擊“ Add a filter
,在右側會看到一個選項“ Edit Query DSL
。
復制並粘貼上面的查詢。 您應該能夠在“ Document Table
看到結果,即圖形下的文檔詳細信息。
好吧,您沒有在問題中提到這是否與特定的可視化工具(或“發現”選項卡)相關,但是就像我們在“發現”部分添加過濾器的方式一樣,您也可以在可視化工具中這樣做(例如Metric Visualizer
,您將在“ Add a filter
下看到“ Edit Query DSL
部分)
讓我知道這是否有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.