Neo4j: 自動インデックスを作成する手順 質問する

Neo4j: 自動インデックスを作成する手順 質問する

新しい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);

おすすめ記事