elasticsearch 使用弹性搜索Python API的feild的最大值
您好,我正在尝试使用Elasticsearch的Python API从中获取字段“UID”的最大值。当我尝试使用下面的代码时,我得到了一个错误
elasticsearch 使用弹性搜索Python API的feild的最大值,
elasticsearch,
elasticsearch-py,
elasticsearch,
elasticsearch Py,您好,我正在尝试使用Elasticsearch的Python API从中获取字段“UID”的最大值。当我尝试使用下面的代码时,我得到了一个错误 res = es.search(index="some_index", body={"query": {"size": 0, "aggregations": { "maxuid": { "max": { "field": "UID" }}}}}) print(res) elasticsearch.exceptions.RequestE
res = es.search(index="some_index", body={"query": {"size": 0,
"aggregations": {
"maxuid": {
"max": {
"field": "UID"
}}}}})
print(res)
elasticsearch.exceptions.RequestError:TransportError(400,u'parsing_exception',u'no[query]为[aggregations]'注册)
对于相同的请求,我有一个curl命令,但当我在pythonapi主体中使用query时,它会给出上述错误
这是curl请求,它可以工作并提供预期的结果。如何在Elasticsearch Python API中使用它是我面临的问题
GET some_index/some_doc/_search{
"size": 0,
"aggregations": {
"maxuid": {
"max": {
"field": "UID"
}}}}
在此方面的任何帮助都将不胜感激。谢谢。像这样的东西会有用的:
res = es.search(
index="some_index",
body={
"aggs": {
"maxuid": {
"max": { "field": "UID"}
}
}
}
)
print(res)
您不能在query子句中指定聚合,聚合和查询是两个不同的子句,这就是您得到该异常的原因
大致结构如下所示:
res = es.search(
index="some_index",
body={
"query": {},
"size": 0,
"aggs": {
"maxuid": {
"max": { "field": "UID"}
}
}
}
)
我还没有运行请求,所以您可能需要对其进行一些调整
附言:我不是巨蟒:)