我正在处理大约50000条tweets,其节点具有类似的数据,如下所示。Neo4J Optimsation用于创建节点之间的关系
{ "date": "2017-05-26T09:50:44.000Z", "author_name": "djgoodlook", "share_count": 0, "mention_name": "firstpost", "tweet_id": "868041705257402368", "mention_id": "256495314", "location": "pune india", "retweet_id": "868039862774931456", "type": "Retweet", "author_id": "103535663", "hashtag": "KamalHaasan" }
我曾尝试使用以下命令 MATCH (a:TweetData),(b:TweetData) WHERE a.location = b.location AND NOT a.tweet_id = b.tweet_id CREATE (a)-[r:SameLocation]->(b) RETURN r
并使用此命令我没能做出的关系以制造具有相同位置的鸣叫之间的关系,因为它是花了超过20小时仍然没有产生结果。虽然对于hashtag关系,但它使用类似的命令工作正常,大约需要5分钟。 是他们的任何其他方法来建立关系或任何方式来优化此查询。
感谢您的建议,它真的帮了我。 我无法理解你说的第一部分,除了使用LIMIT和SKIP外,我们应该如何减少50k^2查找。 **确保您有一个关于TweetData(位置)的索引,这是最重要的更改** –
阅读[索引和约束文档](http://neo4j.com/docs/developer-manual/current /暗号/模式/索引/)。无论何时您有很多节点,并且您需要通过某个属性查找特定类型的节点,最好在标签/属性上有一个索引,以便您的匹配变得非常快。 – InverseFalcon