推荐的大型物体模型设计

时间:2017-08-30 12:19:40

标签: elasticsearch

我有一个看起来像这样的模型结构

Country
 - City
  - User
   - Items

在我的数据中,我有大约50个国家 每个国家都有大约100,000个城市 每个城市有大约10-100个用户,每个用户有大约1-10个项目。

  • 我想查询城市和国家/地区是X并使用所有子对象(用户和用户项)返回孔城市对象。
  • 我想查询用户为X或用户项为X
  • 的城市
  • 我想查询城市为X或项目为X
  • 的用户

您如何在弹性搜索中索引此数据?

首先,我认为我可以使用父子关系(https://www.elastic.co/guide/en/elasticsearch/guide/2.x/parent-child.html),这可以让我执行所有查询,但它不会返回子对象吗?这意味着我将不得不执行额外的查询以返回子项和子项,或者我可以使用内部命中但是需要som手动映射到对象模型...

如果我使用嵌套对象,我将无法在不返回父对象的情况下查询子对象?所以我无法再次执行查询用户并返回匹配用户列表?它将归还国家及其城市和所有城市用户吗?

您如何为这些数据建模?搜索性能对索引数据的性能更为重要。

0 个答案:

没有答案