У меня есть график приличного размера (~ 600 миллионов узлов, 3,5 миллиарда ребер), который я импортировал в neo4j. График также довольно плотный (среднее число ребер около 10);хотя я не уверен, влияет ли это на производительность.
Для одного типа узла (:Authors)
- существует примерно 200 миллионов узлов этого типа - я хотел бы выполнить запрос для конкретного имени, котороехранится в собственности normalizedName
. Вот (очень простой) запрос:
MATCH (a:AUTHOR)
WHERE a.normalizedName = "jonathan smith"
RETURN a
Как и следовало ожидать, выполнение этого запроса занимает ДЛИННОЕ (несколько минут) время. Хотя у меня нет явной гарантии уникальности этого свойства, я все же попытался создать индекс для него, и я не получил жалоб от neo4j. Впоследствии, я ожидал, что вышеупомянутый запрос будет выполнен в мс, из-за сложности O (1) для поиска в индексе. К сожалению, запрос все еще занимает несколько минут.
Что я делаю не так?