Apache Solr中深层嵌套的JSON文档

时间:2016-02-19 10:19:50

标签: json apache solr

我有一个深度嵌套的文档(伪结构如下所示):

[{
    "id": "1",
    "company_id": "1",
    "company_name": "company_1",
    "departments":[{
                 "dep1" : [{
                           "id" : 40,
                           "name" : xyz
                           },
                           {
                           "id" : 41,
                           "name" : xyr
                           }],
                "dep2": [{
                }]
            }]
    "employeePrograms" :[{
    }]
}]

如何在Apache Solr中索引这些类型的文档? 文档仅提供直接子文档的概念。

1 个答案:

答案 0 :(得分:0)

不幸的是,我对这项技术没有丰富的经验,但想要提供帮助。以下是一些可能有用的官方文档:oficial doc more specific

如果你有一些不寻常的问题,请告诉它,也许是任何错误,或者其他什么......我会尽我所能帮助)

Upd1: Solr只能保持数据的“平坦”表示。你正在做什么是不可能的。有许多解决方法,例如使用dynamic fields和使用solr join链接多个数据集。

谈论深度筑巢?我找到了这样一个工作的例子。 如果你有类似的东西:

 "docs": [
      {
        "name": "Product Name",
        "categories": [
          {
            "name": "Category 1",
            "priority": 8
          },
          {
            "name": "Category 2",
            "priority": 6
          }
          ...
        ]
      },

你必须像这样修改它以使它不能深度嵌套:

 "docs": [
    {
      name: "Sample Product"
      categories: [
      {
        priority_category: "9_Category 1",
      },
      {
        priority_category: "5_Category 2",
      }
      ...
      ]
    },

所以,你做过类似的事情,检查是否有任何错误