1

如果我在弹性搜索中有一个子父映射。我将如何根据孩子的统计数据寻找父母。

例子:

{
  'parent':{
    '_id':{
      'path':'parent_id'
    },
    'properties':{
      'parent_id':{
        'type':'string'
      },
      'name':{
        'type':'string'
      },
      'job':{
        'type':'string'
      },
      'age':{
        'type':'integer'
      },

    }
  }
}{
  'child':{
    '_parent':{
      'type':'parent'
    },
    '_id':{
      'path':'child_id'
    },
    'properties':{
      'child_id':{
        'type':'string'
      },
      'name':{
        'type':'string'
      },
      'favorite_toy':{
        'type':'string'
      },
      'age':{
        'type':'integer'
      },

    }
  }
}

我将如何:

  1. 得到所有有一个孩子叫“鲍勃”的父母?
  2. 计算所有有一个孩子叫“鲍勃”的父母?
  3. 得到所有有两个以上孩子的父母?
  4. 得到所有有 2 个 5 岁以上孩子的父母?
4

1 回答 1

3

1) 和 2) - 您可以简单地将查询包装到 has_child 查询中:

{
  "has_child":{
    "type":"child",
    "query":{
      "match":{
        "name":"bob"
      }
    }
  }
}

3)和4)-我认为目前这是不可能的。

于 2013-02-27T20:41:46.523 回答