ElasticSearch сопоставить запрос с полем, содержащим номер - PullRequest
0 голосов
/ 27 сентября 2018

В моих данных у меня есть поле name, которое содержит значения, подобные этому

  • 1234_Customer xxx
  • 2345_Customer yyy
  • 5678_Customer zzz

Когда я пытаюсь сделать запрос на сопоставление с текстом, он работает

{
    "query": {
        "match": {
            "name": {
                "query": "customer",
                "operator": "and"
            }
        }
    }
}

Но когда я пытаюсь найти номер использования спереди (это идентификатор клиента), ничего не появляется

{
    "query": {
        "match": {
            "name": {
                "query": "123",
                "operator": "and"
            }
        }
    }
}

Есть ли что-то еще, прежде чем отправлять запросы?Или мне нужно использовать другой запрос?Я думаю, что это как-то связано с шаблоном, так как между числом и первым словом стоит _ (подчеркивание)?

Спасибо

1 Ответ

0 голосов
/ 27 сентября 2018

Попробуйте prefix запрос вместо:

{
    "query": {
        "prefix": {
            "name": "123"
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...