elasticsearch是否支持查询查询?

时间:2015-02-10 12:31:44

标签: elasticsearch

我的索引有两种类型:

  • marker,包含字段nameage
  • data,字段nameagecar

marker有20k个条目,data - 200k。

我想了解这是否可以原生地发出类型

的查询
  

data中找到nameagemarker

中的条目匹配的所有条目

一个例子,如果marker

"name": "john", "age": 23
"name": "john", "age": 30
"name": "monica", "age": 27

data

"name": "john", "age": 30, "car": "renault"
"name": "john", "age": 30, "car": "peugeot"
"name": "john", "age": 99, "car": "fiat"
"name": "bob", "age": 42, "car": "fiat"

结果将是

"name": "john", "age": 30, "car": "renault"
"name": "john", "age": 30, "car": "peugeot"

因为只有这两个匹配marker nameage的条目。

我打算在Python中通过获取markersdata中的所有内容来进行此匹配,咀嚼数据并将结果批量发回(到新索引)。在我看来,这是一种非常低效的方式来进行此类查询,特别是如果大小不是数千但是数以千万计的条目。

1 个答案:

答案 0 :(得分:0)

那是不可能的。您需要使用嵌套或父/子文档(您目前不是)或使用两步过程(获取marker中的所有值,然后将它们与data匹配),但这么多条目都不实用。