我正在尝试查询 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 的事件。我尝试在 Python 代码中执行 try 块,尝试从返回的值中访问该字段并在我收到 KeyError 时忽略它,但由于您可以作为查询结果接收的项目数量有限,在某些情况下我有我所有的结果都缺少 PGID,所以我最终浪费了一个查询并且无法访问实际结果,所以我希望这种过滤发生在查询级别。