gpt4 book ai didi

python - Python elasticsearch仅返回具有特定字段的条目

转载 作者:行者123 更新时间:2023-12-03 01:54:06 26 4
gpt4 key购买 nike

我正在尝试查询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,因此我最终浪费了查询,无法访问实际结果,因此我希望这种过滤发生在查询级别。

最佳答案

您可以尝试使用此过滤查询

{
"size": 1000,
"query": {
"filtered": {
"filter": {
"bool": {
"must": {
"exists": {
"field": "fields.EventData.PGID"
},
"term": {
"run_id": "Run001"
}
}
}
}
}
}
}

我想您也可以将排序添加到查询中

关于python - Python elasticsearch仅返回具有特定字段的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37931124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com