Créer une requête de type foo%

Bonjour,
Je suis très débutant dans l'utilisation d'elastic search. Je l'utilise au niveau d'un système E-Commerce (thirty bees).
Avec la configuration suivante :

{
  "bool": {
"must": [
  {
    "multi_match": {
      "query": ||QUERY||,
      "fields": ||FIELDS||,
      "type": "best_fields",
      "operator": "AND",
      "fuzziness": "auto"
    }
  }
]
  }
}

Sauf que lorsque je cherche "Domi" je n'ai qu'un résultat alors qu'il y a par exemple "DOMINION" qui affiche beaucoup de résultat
Est-ce qu'il est possible d'effectuer une recherche de type Domi% ?
J'ai essayé via la doc tellement de solution. Je ne trouve pas.
En effet c'est dommage de n'afficher qu'un résultat alors qu'il y en a pleins d'autres.

Merci beaucoup pour votre aide
A bientot

Bienvenue !

Voici ce que je ferais dans ton cas:

DELETE test 
PUT test
{
  "settings": {
    "analysis": {
      "analyzer": {
        "ngram_analyzer": {
          "tokenizer": "lowercase",
          "filter": ["ngram"]
        }
      },
      "filter": {
        "ngram": {
          "type": "edge_ngram",
          "min_gram": 2,
          "max_gram": 10,
          "token_chars": [
            "letter",
            "digit"
          ]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "foo": {
        "type": "text",
        "analyzer": "standard",
        "fields": {
          "ngram": {
            "type": "text",
            "analyzer": "ngram_analyzer",
            "search_analyzer": "simple"
          }
        }
      }
    }
  }
}
POST test/_analyze
{
  "analyzer": "ngram_analyzer",
  "text": ["DOMINION"]
}
POST test/_doc
{
  "foo": "DOMINION"
}
POST test/_doc
{
  "foo": "DOMI"
}
GET test/_search
{
  "query": {
    "multi_match": {
      "query": "domi",
      "fields": ["foo^3.0", "foo.ngram"]
    }
  }
}

Ca donne:

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 2.0794415,
    "hits" : [
      {
        "_index" : "test",
        "_type" : "_doc",
        "_id" : "8AGPrHUB7wlh68wAN_fY",
        "_score" : 2.0794415,
        "_source" : {
          "foo" : "DOMI"
        }
      },
      {
        "_index" : "test",
        "_type" : "_doc",
        "_id" : "7gGPrHUB7wlh68wAMff8",
        "_score" : 0.27101856,
        "_source" : {
          "foo" : "DOMINION"
        }
      }
    ]
  }
}

En mettant plus de poids sur le mots exacts que les versions partielles.

Bonjour,
Pour commencer je m'excuse de ma réponse tardive, et en même temps je vous remercie d'avoir pris le temps de répondre à ma question.
Je vais vous lire et essayer de comprendre, et de tester votre proposition
Cordialement