我正在使用 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}]}
]
谢谢。