Neo4j Version 2.2.4Neo4j Merge не использует уникальный индекс ограничения
Я использую НАГРУЗКИ CSV для импорта огромной коллекции узлов и связей. Я использую MERGE для создания или создания узлов. Для производительности я также создал уникальный индекс для свойства node.
CREATE CONSTRAINT ON (e:RESSOURCE) assert e.url is unique;
USING PERIODIC COMMIT 10000
LOAD CSV FROM 'file:///Users/x/data.csv' AS line FIELDTERMINATOR '\t'
MERGE (subject:RESSOURCE {url: trim(line[0])})
MERGE (object:RESSOURCE {url: trim(line[1])})
CREATE (subject)-[:EQUIVALENCE]->(object);
Проблема в том, что импорт около 1Mio. края очень плохие. Я профилировал импорт, а также отдельные запросы MERGE, и я не видел никакого использования уникального индекса. Напротив, запрос MATCH использует индекс. Что я могу сделать, чтобы использовать MERGE с индексом?
Да, это то, что мы делаем в наших процессах импорта. Сначала мы объединяем все узлы с одним или несколькими CSV (по 100000 узлов в каждом), а затем вставляем отношения, используя указанную выше команду MATCH MATCH MERGE. –
потрясающий! Спасибо вам, ребята! –