參考:
elasticsearch基於地理位置的搜尋,有乙個專門的物件geo_point儲存地理位置資訊(經度,緯度),並且提供了一些基本的查詢方法,如geo_bounding_box。
put /my_geo建立了乙個my_geo索引,新增了乙個欄位location,它的型別是, "name":
}}}
geo_point
。
#latitude:維度,longitude:經度1.geo_distance查詢,根據當前位置的距離進行搜尋,非常實用post /my_geo/_doc
}post /my_geo/_doc
}
查詢5km範圍內都有誰,filter
使用geo_distance
查詢,我們定義距離distance
為5km,再指定geo型別的字段location
post /my_geo/_search}}結果發現:路人甲,路人乙都出來啦,你再試著改變舉例3km看看效果呢?}}
}
2.geo_bounding_box查詢,查詢某個矩形的地理位置範圍內的座標點
post /my_geo/_search3.geo_polygon查詢,查詢三個點(三角形)範圍內的座標點, "bottom_right":}}
}}
支援多邊形,只是這個過濾器使用代價很大,盡量少用
post /my_geo/_search按從近到遠排序, ,]}
}}}
post /my_geo/_search}}_geo_distance: 固定寫法,下面為指定位置的經緯度}},
"sort": [
,"order": "asc",
"unit": "m",
"distance_type": "plane"}}
]}
unit: 距離的單位,m/km都行
distance_type: 計算距離的方式,sloppy_arc (預設值), arc (精準的) and plane (最快速的)
返回值:
,sort裡面的內容,就是與當前位置的地面距離,單位是m。"hits" : ,
"max_score" : null,
"hits" : [
},"sort" : [
2704.400492813901]},
},"sort" : [
3503.0165324004943]}
]}}
unit表示距離單位,常用的是mi和km。
distance_type表示計算距離的方式,sloppy_arc (預設值), arc (精準的) and plane (最快速的)。
post /my_geo/_search, "unit": "mi",
"distance_type": "arc",
"ranges": [,,
]}
}}}
elasticsearch配置詳解
elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...
誰在使用Elasticsearch
github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...
elasticsearch配置說明
elasticsearch.yml是elasticsearch主要的配置檔案,所有的配置都在這個檔案裡完成,一般情況下,預設的配置已經可以比較好地執行乙個集群了,但你也可以對其進行微調。在環境變數中的引數可以用來作為配置引數的值,比如配置檔案裡舉的乙個例子為 node.rack 再比如 等。下面對其...