В основном вам нужно будет создать собственный анализатор.Для справки, пожалуйста, проверьте ссылку
Если вы просто хотите попробовать.Чтобы настроить NGram Tokenizer, мы должны объявить следующее:
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer",
"filter": [
"lowercase"
]
}
},
"tokenizer": {
"my_tokenizer": {
"type": "ngram",
"min_gram": 3,
"max_gram": 3,
"token_chars": [
"letter",
"digit"
]
}
}
}
}
«my_analyzer» - это имя анализатора, которое мы будем использовать для поля ngram. Затем для ваших отображений вам необходимо сопоставить анализатор споле
"mappings": {
"_doc": {
"properties": {
"course_name": {
"type": "text",
"analyzer": "my_analyzer"
}
}
...
Просто добавьте анализатор в нужные поля
ОБНОВЛЕНИЕ Подтвердите свой анализатор
GET yourindexname/_analyze
{
"analyzer": "my_analyzer",
"text": "macroeconomics"
}
Другой, который я часто видел, это
"min_gram" : "3",
"max_gram" : "8"
Но все зависит от вашего варианта использования.