2017-08-26 9 views
0

これは私のSDN 4エンティティであるSDN4のNeo4jの継承とインデックス宣言は

Indexes 
    ON :BaseEntity(createDate) ONLINE 

と私は次のサイファーのクエリがあります。

MATCH (d:Decision) WHERE d.createDate={createDate} 

AFAIK(Neo4j SDN4 entity inheritance and indexes)このようにNeo4jインデックス:BaseEntity(createDate)は使用されません私はdノードに到達しようとしています:Decision label。

は、クラスの継承を経由してインデックスを定義するためのSDN 4のいずれかの方法は:DecisionラベルにcreateDateインデックスを使用することができるようにするために(BaseEntityレベルでcreateDateを残す)はありますか?

答えて

1

クエリが派生ファインダの場合は、this issueに関連しています。これを回避する唯一の方法は、カスタム@Queryを使用することです。

問合せは、あなただけのクエリで正しいラベルを使用する必要が@Queryカスタム、あなたは複数のラベルを使用できることに注意している場合:

MATCH (d:Decision:BaseNode) 
WHERE d.createDate={createDate} 

プランナーが正しいことを行うのに十分にスマートでなければならず、インデックスを使用しますが、PROFILEを使用することを確認する必要があります。使用しない場合:USING INDEXヒント:

MATCH (d:Decision:BaseNode) 
USING INDEX d:BaseNode(createDate) 
WHERE d.createDate={createDate} 
関連する問題