Comment utiliser minimum_should_match de recherche dans plusieurs champs?

Je suis en train de filtrer mes elasticsearch du résultat, il doit retourner les résultats qui sont à 80% compatible avec le texte de la recherche.

Quand je fais cela pour une seule clé, la minimum_should_match fonctionne parfaitement:

{
       "size":30,
       "from":930,
       "query":{
          "filtered":{
             "query":{
                "query_string":{
                   "default_field":"campo1",
                   "query":"portugues",                  
                   "minimum_should_match":"80%"
                }
             }
          }
       }
    }

Quand je fais une recherche en utilisant plus d'une touche, le minimum_should_match ne fonctionne pas bien, retourner les résultats avec 70% compatibilité:

{
       "size":30,
       "from":123420,
       "query":{
          "filtered":{
             "query":{
                "query_string":{
                   "default_operator":"or",
                   "query":"portugues",
                   "fields":[
                      "campo1",
                      "campo2^5",
                      "campo3"
                   ],
                   "minimum_should_match":"80%"
                }
             }
          }
       }
    }

Aussi loin que je peux penser, j'ai besoin de minimum_should_match par la clé, mais je ne sais pas comment faire la même chose.
Si quelqu'un peut m'aider à le faire, sera grande.

OriginalL'auteur Alessandro Gomes | 2014-03-27