2011-11-30 10 views
5

フィルタリングWHERE句を実行するときに、Cypher実行エンジンによって使用される(ノードまたはリレーションシップ)プロパティの自動インデックスはありますか?そうでない場合は、Cypherに使用するよう指示する方法はありますか?第三者(例:Lucene)の指標はどうですか?Cypher WHEREフィルタ句でneo4j auto indexを使用する

答えて

6

これは私たちがたくさん考えていたものですが、残念ながらまだありません。

Neo4jの索引付け部分はすぐにオーバーホールを受ける予定です。そのようなことが起きると、Cypherをこれに近づけて、これを行うことができるようになります。つかいます)。

手動でもできますが、あなたが<映画をお持ちの場合 - [:ACTS_IN]:あなたが同じことを行うことができ、

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

または-actorモデル、そしてあなたが映画に参加してきたケビン・ベーコンという名前のすべての俳優をしたい、あなたはとしてそれを書くことができますインデックス付き:

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

どちらが最も速いのかはわかりにくいです。依存します。

+0

ありがとうございました。これらのオプションのベンチマークをロード/ストレステストチェックリストに追加します。 –

+0

どのように映画のインデックスを取得しましたか – Badmiral

関連する問題