我们可以在Elasticsearch中加入不同类型的数据吗?

时间:2017-09-14 15:03:42

标签: elasticsearch kibana

我有不同类型的数据,它们之间有共同的属性。示例数据如下。我需要运行一个查询,它可以返回在特定日期关闭的REF计数。至于我搜索谷歌弹性搜索不支持连接,所以我正在寻找一些替代方法来实现这一点。你能帮忙吗?

  "REF": "1234", "date" : "2017-09-13T21:59:59.999999", "_type":"action"
  "REF": "1234", "date" : "2017-09-14T15:59:59.999999", "_type":"action"
  "REF": "12", "date" : "2017-09-13T20:59:59.999999", "_type":"action"
  "REF": "12", "date" : "2017-09-14T21:59:59.999999", "_type":"action"

  "REF": "1234", "status" : "open", "_type":"data"
  "REF": "1234", "status" : "closed", "_type":"data"
  "REF": "12", "status" : "open", "_type":"data"
  "REF": "12", "status" : "closed", "_type":"data"
  "REF": "123", "status" : "open", "_type":"data"
  "REF": "1", "status" : "open", "_type":"data"

注意:_type操作中的日期表示在_type数据中输入的行的日期为打开或关闭状态。

1 个答案:

答案 0 :(得分:0)

我不确定这些数据是如何进入ES的,所以我不是百分之百的最佳方法。这里有一些想法 -

  • 在映射中设置parent-child relationship
  • 通过logstash路由您的数据以执行ETL
  • 做2个查询。在SQL术语中,您可以将第一个视为IN()子句中的内容,然后将第二个视为SELECT by。在no-sql land中使用反向索引并不常见。