Я установил новые собственные индексы для отношений в моей БД (Neo4J 3.5.17 или Neo4J 4.0.3).
Для настройки этих индексов я использовал
CALL db.index.fulltext.createRelationshipIndex("BY",["BY"],['user','context','statement']);
Когда я запрашиваю отношения с определенными свойствами, используя что-то вроде:
CALL db.index.fulltext.queryRelationships('BY','context:(id1 id2 id3)')
YIELD relationship RETURN relationship;
Это работает намного медленнее, чем процедуры APO C, которые я использовал ранее, такие как:
CALL apoc.index.relationships('BY','context:(id1 id2 id3)')
YIELD rel RETURN rel;
I есть два вопроса:
1) Это нормально, что индексы APO C намного быстрее, чем "нативные" новые Neo4J и что новые иногда даже взломают sh мою систему?
2) Есть ли еще какие-то родные индексы, которые я мог бы прикрепить к своим отношениям, например, не fulltext
, а, может быть, что-то еще, что-то более быстрое?
3) Если ответ "Да", два вопроса выше, какой смысл было вводить эти новые индексы отношений и осуждающие APO C, если они так хорошо работали годами? По крайней мере, вы могли бы оставить APO C в качестве опции, но теперь они удалены ... Да, настраивать триггеры было не очень удобно, но APO C был супер быстрым и надежным. Эта новая система индексации слишком медленная. Любой ответ на этот вопрос от разработчиков Neo4J?