2011-11-14 58 views
1

我已經有類似的另一個搜索內容的查詢,使用標籤的概念:Neo4j的暗號查詢性能

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屬性索引。 「To」是我必須與「類似」節點進行比較的節點。

類似的查詢本身返回500個節點,關係TAGGED的計數爲3000.標籤節點爲500.在我的機器上,這個查詢需要50secs。

刪除order by子句和/或count子句不會提高性能。

+0

難道你有機會提供你的測試數據庫或數據生成器,我想看看它和配置文件嗎? –

回答

0

您使用的是哪個版本的Neo4j?你如何執行查詢(REST,web-console,shell,java)?這是第一次還是第二次還是第三次?

您可以嘗試重寫您的匹配子句,以便to排在第一位?它不應該有所作爲,但會很有趣。

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

非常感謝。

+0

我正在使用Java,版本是1.5M02,並且不是會話中的第一個運行。 我試圖用「相似」來反轉「to」而沒有區別。 –