Несколько полей, несколько слов, соответствие без строки запроса

Я хотел бы иметь возможность сопоставить поиск по нескольким словам по нескольким полям, где каждое искомое слово содержится влюбой полей, любая комбинация. Подвох я бы хотелизбегать использования Строка запроса.

curl -X POST "http://localhost:9200/index/document/1" -d '{"id":1,"firstname":"john","middlename":"clark","lastname":"smith"}'
curl -X POST "http://localhost:9200/index/document/2" -d '{"id":2,"firstname":"john","middlename":"paladini","lastname":"miranda"}'

Я хотел бы найти 'Джон Смит' соответствовать только документу 1. Следующий запрос делает то, что мне нужно, но я бы предпочел не использовать query_string на случай, если пользователь пройдетИЛИ ЖЕ", "А ТАКЖЕ" и любые другие дополнительные параметры.

curl -X GET 'http://localhost:9200/index/_search?per_page=10&pretty' -d '{
  "query": {
    "query_string": {
      "query": "john smith",
      "default_operator": "AND",
      "fields": [
        "firstname",
        "lastname",
        "middlename"
      ]
    }
  }
}'

Ответы на вопрос(3)

Ваш ответ на вопрос