[英]How to use relationship index in Cypher
我正在使用neo4j 2.1.4。 我有節點-POINT和關系-ROAD我有ROAD屬性的索引-OBJ_COD
:schema ls -l :ROAD
Indexes
ON :ROAD(OBJ_COD) ONLINE
ON :ROAD(ID) ONLINE
No constraints
我想通過OBJ_COD值搜索ROAD,但是密碼不使用索引來查找關系。
neo4j-sh (?)$ profile MATCH (a)-[r:`ROAD` {ID:333275}]-(b:`POINT`) RETURN r LIMIT 1;
ColumnFilter
|
+TraversalMatcher
+------------------+------+---------+-------------+----------------+
| Operator | Rows | DbHits | Identifiers | Other |
+------------------+------+---------+-------------+----------------+
| ColumnFilter | 2 | 0 | | keep columns r |
| TraversalMatcher | 2 | 2265843 | | a, r, a |
+------------------+------+---------+-------------+----------------+
如何強制密碼使用現有索引來搜索單個關系?
模式索引僅在節點上可用。 對關系建立索引的需求幾乎總是在您的圖形數據建模中暴露出一個問題。 通常,您使用索引來查找圖形遍歷的起點。 良好的建模實踐是,域中的任何thing
無論是thing
還是entity
都應該是節點,並且這種關系會將您的things
置於語義上下文中。 如果按照這個和您的查詢在開始something
就沒有必要建立索引關系。
但是,在少數情況下,關系索引可能是一個有效的選擇。 在這種情況下,您需要回退以將舊索引用於關系。 查看有關此內容的詳細文檔 ,以了解它們如何工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.