5

フィルタリングWHERE句を実行するときに、Cypher実行エンジンによって使用される(ノードまたは関係)プロパティの自動インデックスはありますか?そうでない場合、Cypherにそれらを使用するように指示する方法はありますか?サードパーティ(Luceneなど)のインデックスについてはどうですか?

4

1 に答える 1

6

これは私たちがよく考えたことですが、残念ながらまだです。

Neo4jのインデックス作成部分は間もなくオーバーホールされます。その場合、Cypherをそれに近づけて、これを実行できるようにします。また、他の興味深いこと(使用する適切なインデックスを選択するヒューリスティックなど)も行います。

ただし、手動で行うことができます。モデルがあり、映画に参加したKevin Baconという名前のすべての俳優が必要な場合movies<-[:ACTS_IN]-actorは、次のように記述できます。

START movie=node:movies("title:M*") 
MATCH movie<-[:ACTS_IN]-actor
WHERE actor.name = "Kevin Bacon"
RETURN movie.title

または、インデックスでも同じことができます。

START movie=node:movies("title:M*"),
      actor=node:actors(name="Kevin Bacon")
MATCH movie<-[:ACTS_IN]-actor
RETURN movie.title

どちらが最速かはわかりません。依存します。

于 2011-11-30T19:39:44.237 に答える