私は使用しています:
- neo4j 1.8.2
- 春 3.1.1
- 春データneo4j 2.1.0
- spring-data-neo4j-rest 2.1.0
私のneo4jインスタンスには次のものがあります:
- 219ノード
- 1838物件
- 592人の関係
私のコードでは、友達の友達を検索したいと考えています。それを行うために、私はこのコードを書きました:
@Query(value = "START n = node({userStartId}) "
+ "MATCH n-[:OPINION_LEADER_INFLUENCE*2..]->friend_of_friend "
+ "WHERE not(n-[:OPINION_LEADER_INFLUENCE]->friend_of_friend) "
+ "and id(n) <> id(friend_of_friend) "
+ "RETURN COUNT (distinct friend_of_friend)")
public int getFriendOfFriendNumber(@Param("userStartId") long userStartId)
実行すると、SocketTimeoutException が発生しました。neo4j ダッシュボードで直接クエリを実行しようとしました。実行されたクエリは次のとおりです。
START n = node(111)
MATCH n-[:OPINION_LEADER_INFLUENCE*2..]->friend_of_friend
WHERE not(n-[:OPINION_LEADER_INFLUENCE]->friend_of_friend)
and id(n) <> id(friend_of_friend)
RETURN COUNT (distinct friend_of_friend)
neo4jダッシュボードで実行すると、実行されるまでに約10分かかりました(これがエラーが発生した理由です)
エラーを防ぐ方法を教えてください。
neo4j で行うべきチューニングはありますか?
クエリを変更する必要がありますか?
Jersey のタイムアウトを設定するにはどうすればよいですか?
ありがとうアンジェロ