【发布时间】:2014-10-08 19:36:27
【问题描述】:
我在 orient db 中遇到了集群问题。所以我想确保我对集群的理解是正确的,如果你能帮助我解决我的问题,那就太好了。
我对集群的理解
首先我想确保我正确理解集群的概念:对我来说,集群是数据的子集,一个集群可以包含不同的类,一个类可以包含在不同的集群中,对吗?
所以例如我有数据:
{"name": "john", "sports": "tennis", "gender": "male", "@class": "assistant"}
{"name": "susan", "sports": "hockey", "gender": "female", "@class": "assistant"}
{"name": "peter", "sports": "hockey", "gender": "male", "@class": "trainee"}
{"name": "mary", "sports": "tennis", "gender": "female", "@class": "trainee"}
然后我可以拥有这样的集群:
cluster:Male {john, peter}
cluster:Tennis {john, mary}
OrientDB 中对集群的这种理解正确吗?
我的集群问题
向我的数据库插入新数据时,我想将数据添加到特定集群。我的数据是 json 格式。集群已经存在。但是在使用以下命令插入后,集群仍然是空的。这通过使用 java API 以及使用 Web 界面来实现。
INSERT INTO cluster:Test CONTENT {"name": "john", "@class": "assistant"}
请求时保存数据本身:
SELECT FROM assistant
我确实找到了该条目,但该条目不在 cluster:Test 中。我究竟做错了什么?
编辑 2014/03/26
我的用例
我实际上将推文保存在我的数据库中。我正在通过给定的关键字搜索 Twitter。我的班级模型如下:
- 推特推文
- 推特用户
- 标签
(在推文和用户上方有一个 TwitterBaseClass)我有这样的优势:
TwitterTweet --originalTweet--> TwitterTweet
TwitterTweet --postedBy--> TwitterUser
TwitterTweet --hasHashtag--> Hashtag
我认为执行有效请求的最佳做法是为每个关键字创建一个集群。因此,例如,当我有关键字“鲨鱼”和“狗”时,我会收到有关鲨鱼和狗的推文,它们都存储在不同集群中的同一图表中。
非常感谢您的帮助,在此先感谢
路德维希
orient-db v. 1.7-rc1
【问题讨论】:
标签: orientdb