Несколько полей, несколько слов, соответствие без строки запроса
Я хотел бы иметь возможность сопоставить поиск по нескольким словам по нескольким полям, где каждое искомое слово содержится вЛюбые полей, любая комбинация. Подвох я бы хотелизбегать использования Строка запроса.
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"
]
}
}
}'