Эластичный поиск не дал результата при поиске по номеру - PullRequest
0 голосов
/ 22 января 2019

Я новичок в ElasticSearch. Я столкнулся с проблемой при его использовании. Есть текстовое поле body, которое содержит строку типа XYZ1234, которая является шаблоном в нашем документе. Но когда я ищу его по номеру, например 1234, я НЕ могу получить ожидаемый результат. После поиска в интернете я знаю, что это связано с Analyzer. Но я не знаю, как с этим справиться.

PUT /customer

PUT /customer/_doc/1?pretty
{
  "body": "XYZ1234 blabla bla"
}

GET /customer/_search
{
  "query": {
    "match": {
      "body": "1234"
    }
  }
}

Я тоже попробовал ниже

POST _analyze
{
  "analyzer": "standard",
  "text": "XYZ1234"
}

Я получил:

{
  "tokens" : [
    {
      "token" : "xyz1234",
      "start_offset" : 0,
      "end_offset" : 7,
      "type" : "<ALPHANUM>",
      "position" : 0
    }
  ]
}

Кажется, токен не разделен. Как я могу получить результат, который, если я ищу 1234, то я могу получить контент с XYZ1234

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