昨天发现 Threshold Alert 的设计无法符合我的选股程序的需求,今天来看看 Advanced Watcher 吧!
首先,点击下图的按钮:
然後会看到下面的介面:
Watch Json 的格式让人非常熟悉,就是前面玩过的 RESTful API 的组合,高度的客制化就可以实作在 Query。
一个 Watch 包含了四个必要部分:
首先,我设定一个实验性的问题:「每 10 秒,检查 stock-history-prices-daily Index,当股票代号 1101 的个股,最後收盘价大於 40 元时,把结果写入新的 Index」。这麽做的目的,是前端以後只要定期去检查选股结果的 Index 即可,日後只要在收盘价被更新後,再指定执行时间即可,10秒纯粹是不想等太久啦!Kibana 预设给了一个范本,就照着改改看吧!
{
"trigger": {
"schedule": {
"interval": "10s" #1
}
},
"input": {
"search": {
"request": {
"body": { #2
"size": 1,
"sort": [
{
"date": {
"order": "desc"
}
}
],
"query": {
"match": {
"stock_id": "1101"
}
}
},
"indices": [
"stock-history-prices-daily" #3
]
}
}
},
"condition": {
"compare": {
"ctx.payload.hits.hits.0._source.close": { #4
"gte": 40
}
}
},
"actions": {
"my-index-action": {
"index": {
"index": "stock-selection-daily" #5
}
}
}
}
上面的 Query DSL #1 ~ #5 即是依我定义的问题进行修改。来看看结果:
点击 Watcher ID 就可以查看 Watch 的执行结果:
直接搜寻 stock-selection-daily 更直观的看看结果:
GET /stock-selection-daily/_search
{
"query" : {
"match_all": {}
}
}
不错! 如预期的成功设置了 Watcher。可惜的是 Elasticsearch DSL 文件上,目前并没有支援 Watcher,所以要下苦功自己刻啦。 累了,明天见!
>>: 【PHP 设计模式大头菜】模板方法 Template Method
部属.net core程序到IIS上 这里用local IIS测试 预先需要先安装 .NET Cor...
关联到一个控制器 在服务器的控制器(ZK composer)载入资料後,要让它跟 zul 上写的元件...
宣告变数的资料型别--物件 1.数值( Number ) 2.字串( String ) 3.布林值(...
此篇会介绍 box-model 是什麽以及如何使用,最後会分享几个使用技巧以及常见的迷思,建议阅读前...
今日的程序码 => GitHub 前言 大家应该都知道 Flutter 的跳页都会分成 2 ...