Elasticsearch:如何计算出一个标志状态的总时间?

时间:2017-11-02 20:12:15

标签: node.js database elasticsearch

我的索引包含以下行的文档:

 |    changed_at    |  mood  | user |
 ------------------------------
 | yyyy-mm-dd 12:00 | sad    | John |
 | yyyy-mm-dd 15:00 | happy  | John |
 | yyyy-mm-dd 18:00 | happy  | John |
 |        ...       |   ...  |  ... |

用户可以更改其情绪,重复(例如,两次"悲伤"连续)也会被记录。

我想知道一天有多少小时 快乐或悲伤。我知道以下公式不准确

  1. 约翰在12:00
  2. 开始伤心
  3. 在15:00开心,这意味着他伤心了3个小时。
  4. 18:00他确认很高兴。
  5. 从12:00到下一次情绪变化,我们希望约翰快乐(3小时悲伤,21小时快乐)

    elasticsearch 是否为这样的查询提供功能,还是我必须循环所有结果并计算状态变化之间的差距?

    提前致谢!

0 个答案:

没有答案