Я пытаюсь запросить Elasticsearch и получаю только те результаты, которые имеют определенное поле.Python elasticsearch возвращает только записи, имеющие определенное поле
Как запросить документы, имеющие поле fields.EventData.PGID
, и игнорировать те, которые этого не делают?
datadict = es.search(index=idx1,
q='run_id:"Run001" AND "fields.EventData.PGID exists"',
sort='fields.System.TimeCreated.SystemTime',
size=1000)
Путь событие записывается в ES противоречив и такой мне нужно найти только те, где зарегистрировали PGID. Я попытался сделать блок try в коде Python, пытаясь получить доступ к полю из возвращаемых значений и проигнорировать его, если я получу KeyError, но из-за ограничения на количество элементов, которые вы можете получить в качестве результата запроса, в некоторых случаях у меня есть все мои результаты не имеют PGID, поэтому я просто трачу впустую запрос и не могу получить доступ к фактическим результатам, поэтому я хотел бы, чтобы эта фильтрация выполнялась на уровне запросов.
Это действительный JSON? Что относительно '" size ": 1000" query "'? –
он уже был в редакции. –
Это работает, спасибо. –