Согласно новым правилам индексирования, auto_index
уйдет в будущем и ожидается, что он будет создавать индексы с использованием cypher
. В соответствии с этим новым способом, чтобы индексировать свойство узла, вы ДОЛЖНЫ предоставить метку узла.Общее шифрование cypher для всех узлов
У меня есть свойство «NodeId» присутствует на всех типах узлов Labels - Пользователь, сотрудник банка, автомобилей и т.д. я использовал для автоматического индексирования этого свойства, чтобы получить какой-либо тип узла, если его NodeId известно , Обратите внимание, что поскольку автоиндекс не требовал, чтобы я дал метку узла, мне удалось сделать то, что я сделал.
ReadableIndex<Node> readableIndex = this.graphDatabaseService.index().getNodeAutoIndexer().getAutoIndex();
readableIndex.get("nodeId", "0").getSingle();
Но с новым стилем я должен создать индекс на свойстве nodeId для каждой метки узла. Так что я должен сделать это:
create index on :User(nodeId)
create index on :Employee(nodeId)
...
Кроме того, мой метод getByNodeId(String nodeId)
теперь бесполезно, потому что это ничтожество ИМХО запрос не сможет больше использовать индекс, так как я не проходит какой-либо метки узла.
match (node) where node.nodeId = {nodeId} return node;
Поскольку вся суть моего метода getByNodeId()
должен был быть общим для всех узлов, я не могу дать этому Cypher-запрос метки узла. Так что я должен делать здесь. Мой 2 вопроса:
- Как сказать Neo4j через шифр индексировать на все узлы этикетки
- Как я пишу Cypher запрос, который использует индекс не основан на этикетке узла, но основанный на собственности узла.
Примечание:
Это очень важно для меня, чтобы использовать шифр, потому что я использую Neo4j-JDBC и они не имеют никакого способа для создания авто-индекса или получить доступ к авто-индексатора (по крайней мере, этого я не знаю).
Некоторые могут предложить мне изменить neo4j.properties, чтобы включить автоиндексирование, но мне не нравятся изменения файлов конфигурации. I хочу сделать это в моей программе. Во всяком случае, это только разрешило бы первый выпуск . Второй вопрос все еще существует.
Спасибо для этого! Я собирался спросить то же самое. – ADTC