我目前正在为在手机上使用BLE技术的系统开发解决方案,通过信标将登记/结账数据发布到服务器。然后,服务器将签入/签出数据发送到ElasticSearch实例,然后随后查询该实例。我目前有两个索引:一个用于登记数据,另一个用于结帐数据。我的办理登机手续和结帐数据都只包含三个字段:deviceUUID
,beaconId
和timestamp
,基本上是移动用户输入信标范围的时间(办理登机手续),或退出航程(结账)。
现在,我可以轻松地相互隔离地查询我的签到和结帐数据。例如:计算用户在两个特定日期之间输入特定信标范围的次数。但是,我不知道如何计算用户在信标范围内花费的时间段例如,在某一天,(这基本上是登记入住和结账时间之间的差异)。所以我的问题是:
1-对于这个给定的系统,单个索引是更好的做法吗?或者我有权使用两个分离指数? 2-基于我的第一个问题的答案,我如何获得用户在信标范围内花费的时间段?
注意:我的数据是从手机上发布的JSON字符串。
答案 0 :(得分:0)
收到结账时,查询最后一次检入,然后将结帐保存在单独的类型(表格)中,计算的花费时间。稍后进行分析会更容易。