То, что вы делаете, это полнотекстовый запрос. city:Sydney, Australia
представляется фильтром запроса. Как предложение WHERE в SQL. Для этого лучше использовать запрос фильтра.
Посмотрите на примеры логический ,
Возможно, что-то подобное,
{
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "the_search_term",
"fields": [
"name",
"keywords"
]
}
}
],
"filter": [
{
"match": {
"city": "Sydney, Australia"
}
}
]
}
}
}