0
我想通過下面的代碼片段得到一些地理數據出來ES時:Unhashable型「快譯通」試圖發送一個Elasticsearch地理查詢
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'
位置字段被正確地映射到geo_point類型和查詢從official examples服用。我編寫查詢的方式有問題嗎?
確切的說:外部culy大括號試圖定義一個'set'和一個'set'不能包含不可對象(如'dict')。 – Matthias
啊,真的,真的忘了使用'{}'定義一個集合的可能性,謝謝 – mic4ael
我完全錯過了外層花括號。我的ES設置也有錯誤,所以即使沒有設置大括號也會出現另一個錯誤。現在一切都是固定的。非常感謝你! – alexdeloy