I'm using elasticsearch-dsl library and my Documents are like these:
class Market(InnerDoc):
market_no = Integer()
class Event(Document):
event_id = Integer()
markets = Nested(Market)
I want to get all Events and within these Events I want to filter some markets. How can I achive this by using elasticsearch-dsl?
Example data:
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}]}
]
I want all events and within these, filtering markets that market_no lower or equal to 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}]}
]
Thanks.