不要急,总有办法的

如何用2个索引的@timestamp值做减法,得到时间差

Elasticsearch | 作者 sailershen | 发布于2019年07月22日 | 阅读数:3722

bj-sip_invite和bj-sip_bye两个索引都有一个Call-ID字段,当这两个Call-ID的值相等时,用bj-sip_invite索引的@timestamp减去bj-sip_bye索引的@timestamp,得到的是一个时间差。
这个跨索引的操作不知道从何做起,请各位老师指教,谢谢。
-----
我看到可以用/bj-sip_invite,bj-sip_bye/_search 这样的写法在两个索引里查询,后面怎么找Call-ID相等的记录,怎么用两个@timestamp做减法,这个暂时还不会,请各位老师指教。
已邀请:

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自: sailershen

单个索引可以借助script实现,多索引之间ES没有提供类似的接口。
可以业务层面取到数据后自己实现。

xxz0904

赞同来自: sailershen

我现在的做法是,入es之前就算出来,这样就能直接查询了
尽量只查es,不让es做计算

sailershen

赞同来自:

我想到一个方法,把两部分数据放到一个索引里(Logstash里修改),各增加一个时间类型的字段,一个是invite_time,一个是bye_time。对于Call-ID字段值相等的两条记录,用invite_time的值减去bye_time的值,得到时间差。
laoyang360老师,这个方法应该可以吧?

要回复问题请先登录注册