Подстановочный знак Elasticsearch работает отлично, но query_string не - PullRequest
0 голосов
/ 21 ноября 2018

A хранят имена в Elasticsearch, и я хочу использовать подстановочный знак для их поиска.Поэтому, когда я использую запрос

{
    "query": {
        "bool": {
            "should":
                {
                    "wildcard" : { "name1" : "абаев а*" }
                }

        }
    }
}

, он работает нормально.Но сейчас я пытаюсь реализовать поиск по нескольким полям:

{
    "query": {
        "bool": {
            "should":
                {
                    "query_string" : { 
                        "query" : "абаев*",
                        "fields": ["name1", "name2"],
                        "default_operator": "AND"
                    }
                }

        }
    }
}

, и этот запрос не работает.

Анализатор для полей:

{
    'analyzer': {
        'keyword_lowercase': {
            'tokenizer': 'keyword',
            'filter': 'lowercase'
        }
    }
}

Примеры документов:

{
    "name1": "Абаева Хрестиния",
    "name2": "Абаева Арестиния"
}

{
    "name1": "Аиб Мария"
}

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...