【发布时间】:2019-12-16 18:22:51
【问题描述】:
我正在使用 elasticsearch-dsl 库,我的文档如下所示:
class Market(InnerDoc):
market_no = Integer()
class Event(Document):
event_id = Integer()
markets = Nested(Market)
我想获取所有事件,并在这些事件中过滤一些市场。如何通过使用 elasticsearch-dsl 来实现这一点?
示例数据:
events = [
{'event_id': 1, 'markets': [{'market_no': 1}, {'market_no': 2}, {'market_no': 3}]},
{'event_id': 2, 'markets': [{'market_no': 1}]},
{'event_id': 3, 'markets': [{'market_no': 1}, {'market_no': 11}]}
]
我想要所有事件以及在这些事件中,过滤 market_no 低于或等于 2 的市场。
results = [
{'event_id': 1, 'markets': [{'market_no': 1}, {'market_no': 2}]},
{'event_id': 2, 'markets': [{'market_no': 1}]},
{'event_id': 3, 'markets': [{'market_no': 1}]}
]
谢谢。
【问题讨论】:
标签: python python-3.x elasticsearch elasticsearch-dsl-py