1

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. 2人以上の子供を持つすべての親を取得しますか?
  4. 5歳以上の子供が2人いるすべての親を取得しますか?
4

1 に答える 1

3

1)および2)-クエリをhas_childクエリにラップするだけです。

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

3)と4)-現時点ではこれは不可能だと思います。

于 2013-02-27T20:41:46.523 に答える