我有一组在elasticsearch中编入索引的文档,这些文档包含大量数据,但有两个带有差异字段的样式。
第一个有这样的风格:
{
type: "measurement",
startTime: "iso-time-goes-here",
duration: 30, // seconds
locationId: "abc"
}
第二种风格如下:
{
type: "event",
startTime: "iso-time-goes-here",
locationId: "abc"
}
其他字段在文档之间是相同的。
我想运行一个搜索,例如“显示所有event
个文档,其中有measurement
文档距离它不到1分钟,locationId
s匹配”
在elasticsearch中这样的查询是否可行?我该怎么办呢?
答案 0 :(得分:1)
不,Elasticsearch没有联接,这是您在此处需要的,因为您正在使用locationId上的事件加入测量值。
也许您可以在索引时将测量值反规范化为事件,然后您可以获得信息。如果你可以管理这个,那将是最快的。其他任何事情,比如做多个查询然后过滤你的结果集可能会变得昂贵;这就是Elasticsearch不支持连接的原因。但是从你所描述的那些可能不适合你的东西开始。