在elasticsearch中搜索child-parent

时间:2013-02-27 16:05:54

标签: elasticsearch

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

示例:

{
  '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. 让所有有孩子的父母名为'bob'?
  2. 统计所有有孩子名字'bob'的父母?
  3. 让所有有两个以上孩子的父母?
  4. 让所有2个孩子都超过5岁的父母?

1 个答案:

答案 0 :(得分:3)

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

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

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