新しいNeo4jデータベースを作成しています。Userというタイプのノードがあり、ユーザーのプロパティにインデックスを付けたいと考えています。識別子そして電子メールアドレス. データベースが新しいときにインデックスを設定するにはどうすればいいですか? neo4j.propertiesファイルにはインデックス作成のサポートがあるようです。しかし、これを次のように設定すると
# Autoindexing
# Enable auto-indexing for nodes, default is false
node_auto_indexing=true
# The node property keys to be auto-indexed, if enabled
node_keys_indexable=EmailAddress,Identifier
ノードを追加し、存在するとわかっている識別子を見つけるためのクエリを実行します
START n=node:Identifier(Identifier = "USER0")
RETURN n;
それから私は
MissingIndexException: Index `Identifier` does not exist
インデックスを作成して開始クエリで使用するにはどうすればよいでしょうか。これを実現するには、構成ファイルと暗号のみを使用します。つまり、現時点では Power Tool コンソールでのみ実行しています。
ベストアンサー1
neo4j.propertiesファイルに以下を追加します。
# Autoindexing
# Enable auto-indexing for nodes, default is false
node_auto_indexing=true
# The node property keys to be auto-indexed, if enabled
node_keys_indexable=EmailAddress,Identifier
ノードの自動インデックスを作成する
neo4j-sh (0)$ index --create node_auto_index -t Node
存在するかどうかを確認する
neo4j-sh (0)$ index --indexes
戻るべき
Node indexes:
node_auto_index
クエリを実行するときは、次の構文を使用してインデックスを指定します。
start a = node:node_auto_index(Identifier="USER0")
return a;
ノードは自動的にインデックス化されるため、インデックスの名前はnode_auto_index
この情報は、このページ
アップデート
自動インデックス作成がオンになる前に存在していた現在のデータをインデックス化する場合(Property_Name はインデックスの名前です)
START nd =node(*)
WHERE has(nd.Property_Name)
WITH nd
SET nd.Property_Name = nd.Property_Name
RETURN count(nd);