Измените ваш анализатор так, чтобы он включал гипс -
, который должен решить вашу проблему, поскольку он создает токен для UUID.
{
"settings": {
"analysis": {
"analyzer": {
"p_analyzer": {
"type": "pattern",
"pattern": "~~|-", --> note hypen is included `-`
"lowercase": true
}
}
}
}
}
При использовании вышеуказанного анализатора генерируются следующие токены
POST / your-index / _analyze
{
"text" : "6de57db5-8fdb-4a39-ab46-21af623692ea~~status:ACTIVE",
"analyzer" : "my_email_analyzer"
}
Сгенерированные токены
{
"tokens": [
{
"token": "6de57db5",
"start_offset": 0,
"end_offset": 8,
"type": "word",
"position": 0
},
{
"token": "8fdb",
"start_offset": 9,
"end_offset": 13,
"type": "word",
"position": 1
},
{
"token": "4a39",
"start_offset": 14,
"end_offset": 18,
"type": "word",
"position": 2
},
{
"token": "ab46",
"start_offset": 19,
"end_offset": 23,
"type": "word",
"position": 3
},
{
"token": "21af623692ea",
"start_offset": 24,
"end_offset": 36,
"type": "word",
"position": 4
},
{
"token": "status:active",
"start_offset": 38,
"end_offset": 51,
"type": "word",
"position": 5
}
]
}
Теперь поиск 6de57db5-8fdb-4a39-ab46-21af623692ea
разбил бы его на 6de57db5
, 8fdb
, 4a39
и т. Д. И будет соответствовать токену, сгенерированному во время индекса, и попадет в результат поиска.