我有一個包含客戶值的索引,我需要能夠過濾地圖上經度值范圍之間的記錄。緯度過濾器有效。我想知道它是否因為負值而沒有過濾經度。
經過一番研究,我發現我可以嘗試使用轉義鍵,因為“-”可能被解釋錯誤。無論有沒有轉義字符都不起作用。
- 注意 - 該范圍之間有記錄,因為當我抓取整個索引時,我可以看到該范圍之間的經度值的記錄。
我不知道我還能嘗試什么。任何建議將不勝感激。
例子 :

uj5u.com熱心網友回復:
不確定您的longitude欄位的資料型別,因為地理點資料型別不支持范圍查詢,并且如果您使用普通整數,則它可以作業,如下所示。
使用默認整數映射索引示例檔案
put my-idx-number-range/_doc/4
{
"longitutde" : -10
}
put my-idx-number-range/_doc/4
{
"longitutde" : 20
}
put my-idx-number-range/_doc/4
{
"longitutde" : 10
}
put my-idx-number-range/_doc/4
{
"longitutde" : 50
}
具有范圍的搜索查詢
POST my-idx-number-range/_search
{
"query": {
"bool": {
"filter": [
{
"range": {
"longitutde": {
"gte": -73,
"lte": 20
}
}
}
]
}
}
}
和搜索結果
"hits" : [
{
"_index" : "my-idx-number-range",
"_type" : "_doc",
"_id" : "1",
"_score" : 0.0,
"_source" : {
"longitutde" : -20
}
},
{
"_index" : "my-idx-number-range",
"_type" : "_doc",
"_id" : "2",
"_score" : 0.0,
"_source" : {
"longitutde" : 20
}
},
{
"_index" : "my-idx-number-range",
"_type" : "_doc",
"_id" : "3",
"_score" : 0.0,
"_source" : {
"longitutde" : 10
}
}
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/446600.html
