Ввод - это список имен людей, и я хочу создать точное совпадение с небольшой нечеткостью.
Текст индекса - Бао-Ань Фэн, Мой анализатор ниже
PUT trim
{
"settings": {
"index": {
"analysis": {
"filter": {
"word_joiner": {
"type": "shingle",
"output_unigrams": false,
"token_separator": "",
"output_unigrams_if_no_shingles": true,
"max_shingle_size": 5
}
},
"analyzer": {
"word_join_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"word_joiner"
]
}
},
"tokenizer": {}
}
}
}
}
Он сгенерирует три токена
{
"tokens": [
{
"token": "baoan",
"start_offset": 0,
"end_offset": 6,
"type": "shingle",
"position": 0
},
{
"token": "baoanfeng",
"start_offset": 0,
"end_offset": 11,
"type": "shingle",
"position": 0,
"positionLength": 2
},
{
"token": "anfeng",
"start_offset": 4,
"end_offset": 11,
"type": "shingle",
"position": 1
}
]
}
Я хочу только "baoanfeng", я не могу использовать "min_shingle_size", потому что можно вводить два слова.