2016-07-24 18 views
1

私はCypherで1百万のノードを作成しましたが、これらのノードの作成中にINDEX ONを挿入してインデックスを作成するのを忘れました。既存ノードのインデックスを作成する - Neo4J

ここで、すべてのノードのインデックスを作成するにはどうすればよいですか? 私はCREATE INDEX ON :user(userID)にしようと、私はこのメッセージを受信:Added 1 index, statement executed in 32 ms.

をしかし、私はuserラベルとUserIDプロパティを使用してノードの100万を持っているので、私は"Added 1000000 indexes ... "を言ってメッセージを取得すると予想。

答えて

2

CREATE INDEXを実行すると、インデックスは1つだけ作成されます。何百万ものエントリは、その1つのインデックス内のものになるでしょう。

サイファーインデックスはバックグラウンドで作成されます。このコマンドが正常に実行されると、インデックスがそこにあることを意味しますが、しばらくしてから完全に構築されているとは限りません。詳細は

See this blog post、特にこの部分:

あなたはにインデックスを作成して、スキーマのインデックス作成:ラベル(プロパティ)を例えばCREATE INDEX ON:人(名前)。

利用可能なスキーマインデックス(および制約)とそのステータス(POPULATING、ONLINE、FAILED)を、ブラウザのスキーマまたはシェルのスキーマで一覧表示します。

操作で使用する索引と制約が常にONLINEであることを確認します。そうでない場合は使用されず、照会が遅くなります。

私の推測では、あなたは、インデックスの状態を確認した場合、あなたが取り込む状態でそれを見つけるだろう、あなたはCREATE INDEXを実行した直後ということです。

関連する問題