Работает ли автоматический индекс neo4j для предложения MATCH?

#lucene #neo4j

#lucene #neo4j

Вопрос:

Мы включили автоматическое индексирование как для узлов, так и для отношений. По умолчанию NEO4J создаст индекс с именем «node_auto_index» для узлов и «relationship_auto_index» для отношений. Но запросы СООТВЕТСТВИЯ, похоже, выполняются недостаточно (по сравнению с аналогичным набором данных в Elasticsearch). Похоже, они не используют индексы.

Есть ли способ заставить предложение MATCH использовать auto_index ?

Мы также попытались просмотреть индекс схемы. Похоже, он может создавать только индексы узлов. Наши запросы используют некоторые свойства для отношений, и, следовательно, даже после использования индекса схемы запросы неприемлемы по производительности. Есть ли способ создать индексы связей схемы?

Комментарии:

1. Можете ли вы обновить свой пост и включить запрос?

Ответ №1:

node_auto_index не используется для сопоставления, вам придется использовать предложение start для доступа к этому устаревшему индексу.

например

 START user=node:node_auto_index(name="Siddarth")
MATCH (user)-[:KNOWS]->(friend)
RETURN friend
 

В Neo4j 2.0 вместо этого вы можете создать ограничение индекса или уникальности

 create index on :User(name);
 

а затем используйте его в MATCH

 MATCH (user:User {name:"Siddarth"})-[:FRIEND]->(friend)
RETURN friend
 

Смотрите также руководство: http://docs.neo4j.org/chunked/milestone/query-schema-index.html
и шифр refcard: http://neo4j.org/resources/cypher

Комментарии:

1. Я попробовал следующее: Добро пожаловать в оболочку Neo4j! Введите «справка» для списка команд ПРИМЕЧАНИЕ: Удаленная служба графической базы данных Neo4j «оболочка» на порту 1337 neo4j-sh (?)$ schema Indexes ON :order(scheduleDate) ONLINE No constraints neo4j-sh (?)$ start n = node:order("scheduleDate:54647") return n; MissingIndexException: Index «не существует», поэтому, хотя команда schema показывает, что индекс доступен, предложение start не может найти этот индекс. Означает ли это, что предложение start может работать только с автоматическими индексами, а не с индексом схемы?

2. Предложение Start может работать только с автоматическим индексом. Он не работает с индексами схемы. Я попробовал с примерами и обнаружил, что это правда.