鉴于以下简单文件:
output
我想找到与具有某个特定单位的条目具有相同时间戳的所有条目。在伪sql中我正在寻找查询:
{
time: 1234545455,
value: 50.6,
unit: 'test'
}
如何在ElasticSearch中完成?
答案 0 :(得分:0)
您可以使用聚合与过滤器来获取时间,并使用结果执行第二次查询以获取文档。
获取相关时间的第一个查询
"size" : 0,
"aggs" : {
"relevant_time": {
"filter": {
"bool": {
"must": [
{
"match": {
"unit": "some-unit"
}
}
]
}
},
"aggs": {
"filterd_time": {
"terms": {
"field": "time"
}
}
}
}
}
对于第二个查询,迭代存储桶返回并使用术语查询中的related_time来获取整个文档。