То, что вы описываете с помощью терминов «поправка», «поправка» и «изменение», называется ключевым словом stemming.Вы можете добавить маркерный фильтр в настройки эластичного индекса.
Например:
PUT /my_index
{
"settings": {
"analysis" : {
"analyzer" : {
"my_analyzer" : {
"tokenizer" : "standard",
"filter" : ["standard", "lowercase", "my_stemmer"]
}
},
"filter" : {
"my_stemmer" : {
"type" : "stemmer",
"name" : "english"
}
}
}
}
}
При использовании этого стемера будут индексироваться термины [amend, amending, amendment]
как [amend, amend, amend]
.
Затем вы можете выполнить запрос match
идолжен вернуть то, что вы хотите.