我有以下文件索引:
{name: 'Device1', type: 'start', 'eventTime': '2013-02-19 12:00:00'}
{name: 'Device2', type: 'start', 'eventTime': '2013-02-19 12:02:00'}
{name: 'Device1', type: 'stop', 'eventTime': '2013-02-19 12:45:00'}
{name: 'Device2', type: 'stop', 'eventTime': '2013-02-19 12:50:00'}
Run Code Online (Sandbox Code Playgroud)
我想创建一个查询,这将EVENTTIME的之间的时间差,通过设备名称和字段类型的问候刻面返回对我来说是新领域.对于示例,它应该是:
{name: 'Device1', 'type': 'it really doesnt matter', eventTime: 'also doesnt matter', duration: '00:45:00'}
{name 'Device2', 'type': 'it really doesnt matter', eventTime: 'also doesnt matter', duration: '00:48:00'}
Run Code Online (Sandbox Code Playgroud)
是否可以使用弹性搜索查询语言?
我不相信你现在拥有每个文件的方式是可行的.如果您将文档存储为:
{name: 'Device1', startTime: '2013-02-19 12:00:00', endTime: '2013-02-19 12:45:00'}
{name: 'Device2', startTime: '2013-02-19 12:02:00', endTime: '2013-02-19 12:50:00'}
Run Code Online (Sandbox Code Playgroud)
然后,您可以返回一个时间差异的脚本字段.
{
"query" : {
...
},
"script_fields" : {
"timedifference" : {
"script" : "doc['endTime'].value - doc['startTime'].value"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10298 次 |
| 最近记录: |