Я новичок в 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