如何索引数千个子对象?

时间:2017-04-18 12:03:37

标签: elasticsearch elastica foselasticabundle

我有点喜欢它:

  • MainObject
    • ~3000x SubObjects
      • 每个子对象都有~2个SubSubObjects
        • 同上:~1 SubSubSubObject

对于每个子对象,我需要获取一个mainObject信息(整数数组),当我在数据库中使用MainObject及其所有子对象(通过控制台中的命令)时,我复制了所有对象的数组(数千个复制。 ..)当我需要编辑这个数组时,我再次重新索引...我相信我能做得更好。

在文档中我看到它存在很多可能性:对象,嵌套,父/子......但我真的不知道哪个更好......

在另一篇文章中,有人解释我如何处理嵌套文档,聚合......但是我不能这样做...而且我读的更多,我对嵌套方法有所怀疑。

感谢您的帮助

编辑,简化我的实体JSON中的树状结构(在Doctrine中)

{
  "public": false,
  "authorized_users": [1, 23, 51],
  "chromosomes": [
    {
      "name": "C1",
      "locus": [
    {
      "name": "locus1",
      "features": [
        {
          "name": "feature1",
          "products": [
            {
              "name": "product1"
              //...
            }
          ]
        }
      ]
    }
      ]
    }
  ]
}

我只是搜索locus,功能和产品的名称,但是在public和users_users上使用过滤器,这就是为什么我会做像(在Elasticsearch中)这样的对象:

{
  "_type": "locus",
  "name": "locus1",
  "public": false,
  "authorized_users": [1, 23, 51],
},
{
  "_type": "locus",
  "name": "locus2",
  "public": false,
  "authorized_users": [1, 23, 51],
}

{
  "_type": "feature",
  "name": "feature1",
  "public": false,
  "authorized_users": [1, 23, 51],
}

0 个答案:

没有答案