1

Neo4j を使用していますが、一意のフィールドを持つ lucene インデックスを作成することは可能でしょうか。(つまり、すべてのキーと値のペアは 1 つのノードにのみ関連付けることができます)

たとえば、次の動作を実現したいと考えています。

someIndex.add(node1, "firstName", "Roy");
someIndex.add(node2, "firstName", "John");

// Here I expect to recieve an exception because the key/value pair (firstName, Roy) is already associated with node1
someIndex.add(node3, "firstName", "Roy");

そのようなことを達成することは可能ですか?

ありがとう!

4

2 に答える 2

0

私のコードでは、BatchInserterIndex を使用して、インデックスを作成する必要があるキーと値のマップを追加しています。コードは次のようなものです。

BatchInserterIndex myIndex = indexProvider.nodeIndex("myIndex", MapUtil.stringMap("type", "exact"));
Map<String, Object> key_Value_IndexMap = new ConcurrentHashMap<String, Object>();
key_Value_IndexMap.put("ID", value);
myIndex.add(createdNodeId, key_Value_IndexMap);
于 2013-06-10T15:12:19.207 に答える
0

Java API レベルでは、UniqueFactoryを使用できます。使用例については、http://docs.neo4j.org/chunked/stable/transactions-unique-nodes.html を確認してください

于 2013-06-10T11:28:05.120 に答える