Трудности импорта отношений в Neo4j после создания узлов
Я использую версию сообщества Neo4j. У меня есть 13m узлов, созданных в neo4j. После этого создаем отношения из файла CSV. Процесс слишком медленный.
LOAD CSV WITH HEADERS FROM "file:///re.CSV" AS csvLine
WITH csvLine
LIMIT 3
MATCH(p:actor), (m:movie)
WHERE m.mid=toInteger(csvLine.mid)
AND p.pid=toInteger(csvLine.pid)
CREATE(p)-[a:Acted{ptime:csvLine.ptime}]->(m)
Set 3 properties, created 3 relationships, completed after 128618 ms.
Буду признателен за любую помощь в этом вопросе.
1 ответ
Индексы, на которые вы ссылались (CREATE INDEX ON :movie(name,mid) CREATE INDEX ON :actor(name,pid)
) предназначены для составных индексов, что требует, чтобы все индексированные свойства присутствовали для поиска.
Но в вашем запросе вы получаете только актера по pid (не pid AND name), а фильм по середине (не mid AND name). Если вы хотите индексировать поиск по одному свойству, создайте индекс только по этому свойству.
Кроме того, ОБЪЯСНИТЕ свой запрос, чтобы посмотреть на план запроса (ПРОФИЛЬ, если можете, но только для запросов, которые заканчивают выполняться). Это часто может дать вам подсказки относительно того, используется ли поиск по индексу, или если он возвращается к сканированию по меткам.