gpt4 book ai didi

python - 尝试发送 Elasticsearch 地理查询时无法散列类型 'dict'

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:23 25 4
gpt4 key购买 nike

我试图通过以下代码片段从 ES 中获取一些地理数据:

result = es.search(
index="loc",
body={
{
"filtered" : {
"query" : {
"field" : { "text" : "restaurant" }
},
"filter" : {
"geo_distance" : {
"distance" : "12km",
"location" : {
"lat" : 40,
"lon" : -70
}
}
}
}
}
}
)

但是由于以下错误,查询没有成功:

"lon" : -70
TypeError: unhashable type: 'dict'

location 字段正确映射到 geo_point 类型,查询取自 official examples .我编写查询的方式有问题吗?

最佳答案

您正在将 dict 嵌套在 set 中。删除外部花括号以解决该问题。该错误源于这样一个事实,即集合,字典不能包含不可散列的集合,例如字典(感谢@Matthias)。

body=
{
"filtered" : {
"query" : {
"field" : { "text" : "restaurant" }
},
"filter" : {
"geo_distance" : {
"distance" : "12km",
"location" : {
"lat" : 40,
"lon" : -70
}
}
}
}
}

关于python - 尝试发送 Elasticsearch 地理查询时无法散列类型 'dict',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34630368/

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