Производительность запроса Neo4j Cypher - PullRequest
1 голос
/ 14 ноября 2011

У меня есть запрос для элементов поиска, похожих на другие, с использованием концепций тегов:

START similar=node:TYPE_INDEX("type1"), to=node(20325) 
match similar-[:TAGGED]->tag<-[:TAGGED]-to
return distinct similar, count(tag)
order by count(tag) DESC

«похожий» - это набор узлов, которые индексируются с использованием свойства type.«Кому» - это узел, который я должен сравнивать с «похожими» узлами.

Подобный запрос сам возвращает 500 узлов, а число отношений TAGGED равно 3000. Теговых узлов 500. На моем компьютере этот запросзанимает 50 сек.

Удаление предложения по условию и / или количества не улучшает производительность.

1 Ответ

0 голосов
/ 15 ноября 2011

Какую версию Neo4j вы используете? Как вы выполняете запрос (REST, веб-консоль, оболочка, Java)? Это первый сеанс в сеансе, второй или третий?

Можете ли вы попытаться переписать предложение о совпадении, чтобы на первом месте стояло to? Это не должно иметь никакого значения, но было бы интересно узнать.

match to-[:TAGGED]->tag<-[:TAGGED]-similar

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...