我正在運行最新的neo4j v2,並安裝了空間插件。我設法爲地理索引中需要索引的幾乎所有節點建立索引。我正在努力解決的問題之一是如何輕鬆檢查節點是否已被編入索引?如何檢查節點是否已經在neo4j-spatial索引中編入索引?
我無法找到任何REST端點來獲取此信息,並且不容易通過密碼獲得此信息。但我試過這個查詢,因爲它似乎給我我想要的結果,除了運行時是不可接受的。
MATCH (a)-[:RTREE_REFERENCE]->(b) where b.id=989898 return b;
由於地理指數僅存儲已經在由關係RTREE_REFERENCE引用的節點ID的屬性值被索引節點的引用我想這可能是要走的路。
此查詢現在需要:14459 ms
運行從neo4j-shell
。
我的數據庫並不大,大概是41000 nodes
,我想把它加到空間索引中。
必須有更好的方法來做到這一點。任何想法和或指針將不勝感激。
我真的不能這樣做。也許我的問題還不夠清楚。該索引是由neo4j-spatial插件生成的,因此我無法標記引用正在索引的節點的節點。至少據我所知。我知道,通過全部搜索並不是要走的路,這就是爲什麼我問是否有更好的方法來做到這一點。 –
@deemeetree的主要觀點是,只有已經建立索引的節點纔會有傳入的RTREE_REFERENCE。從你原來的問題,我假設你正在與一個節點工作,並需要知道它是否索引。在檢查傳入關係之前,您的代碼似乎是先重新搜索您的節點。 deemeetree的建議是使用一個索引。這可以工作,但由於您知道節點的ID,因此不需要索引。請參閱我的單獨答案以獲得更簡單的建議。 –