Elasticsearch: Comment utiliser deux différents de multiples champs correspondants?

Je veux faire quelque chose de bien, comme le "et" exemple de filtre, sauf avec les termes "devrait", dans chacun d'eux, au lieu de les types de champ dans l'exemple. Je suis venu avec les éléments suivants:

    {
  "query": {
    "bool": {
      "must": [
        {
          "ids": {
            "type": "foo",
            "values": [
              "fff",
              "bar",
              "baz",
            ]
          }
        }
      ]
    }
  },
  "filter": {
    "and": {
      "filters": [
        {
          "bool": {
            "should": {
              "term": {
                "fruit": [
                  "orange",
                  "apple",
                  "pear",
                ]
              }
            },
            "minimum_should_match": 1
          }
        },
        {
          "bool": {
            "should": {
              "term": {
                "color": [
                  "red",
                  "yellow",
                  "green"
                ]
              }
            },
            "minimum_should_match": 1
          }
        }
      ]
    }
  }
}

Cependant, j'ai cette erreur:

[bool] filter does not support [minimum_should_match];

Est-il une autre façon d'aller sur ce que je suis tente de faire, ou suis-je sur la bonne voie? Ou est-ce tout simplement pas possible dans elasticsearch?

Comme le message d'erreur dit, bool filtres ne prennent pas en charge minimum_should_match; bool requêtes. Pouvez-vous expliquer ce que vous essayez de le faire en anglais?

OriginalL'auteur beth | 2013-09-24