0
我的目標是根據給定的經度和緯度找到最近的節點。我已經創建了簡單點層,並且我正在使用findClosestGeometies
查詢,但即使數據庫相對較小,響應時間也相當不滿意。下面的操作我執行創建我的層:在Neo4j中提高尋找最近節點的性能Spatial
:POST /db/data/ext/SpatialPlugin/graphdb/addSimplePointLayer {
"layer" : "layerName",
"lat" : "NODE_LAT",
"lon" : "NODE_LON"
}
:POST /db/data/index/node {"name":"layerName", "config":
{"provider":"spatial", "geometry_type":"point", "lat":"NODE_LAT", "lon":"NODE_LON"}
}
match(n:WAY_NODE) set n.id=ID(n);
然後用我說〜70K節點層和運行示例查詢簡單的Java程序:
:POST db/data/ext/SpatialPlugin/graphdb/findClosestGeometries {
"pointX" : 18.5640344020454,
"pointY" : 54.4441138296926,
"distanceInKm" : 1.0,
"layer" : "layerName"
}
它的工作,但每一個響應需要更多或少於8秒。有沒有辦法加快速度?任何想法我應該使用什麼?