Код: Выделить всё
{
"settings": {
"index.max_ngram_diff": 15,
"analysis": {
"tokenizer": {
"suggestion_tokenizer": {
"type": "pattern",
"pattern": "[^a-zA-Z0-9/\\-\\+\\,\\.]+"
}
},
"filter": {
"edge_ngram_filter": {
"type": "edge_ngram",
"min_gram": 2,
"max_gram": 17,
"token_chars": [
"letter",
"digit",
"symbol",
"punctuation"
]
},
"custom_word_delimiter_graph": {
"type": "word_delimiter_graph",
"preserve_original": true,
"split_on_numerics": false,
"split_on_case_change": false,
"split_on_punctuation": true
},
"custom_word_delimiter_graph_name": {
"type": "word_delimiter_graph",
"preserve_original": true,
"split_on_numerics": true,
"split_on_case_change": false,
"split_on_punctuation": true,
"generate_word_parts": true,
"generate_number_parts": true
},
"stop_words_filter": {
"type": "stop",
"stopwords": [
"list-stop-words"
]
},
"unique_filter": {
"type": "unique"
}
},
"analyzer": {
"name_suggestion_analyzer": {
"type": "custom",
"tokenizer": "suggestion_tokenizer",
"filter": [
"lowercase",
"asciifolding",
"stop_words_filter",
"unique_filter"
]
}
}
}
},
"mappings": {
"properties": {
"content": {
"properties": {
"name": {
"type": "text",
"fields": {
"suggestion": {
"type": "text",
"analyzer": "name_suggestion_analyzer"
}
}
}
}
}
}
}
}
Код: Выделить всё
{
"suggest": {
"text": "{{query}}",
"name-suggestion": {
"text": "{{query}}",
"phrase": {
"field": "content.name.suggestion",
"size": 1,
"gram_size": 3,
"direct_generator": [
{
"field": "content.name.suggestion",
"suggest_mode": "always"
}
],
"highlight": {
"pre_tag": "",
"post_tag": ""
}
}
}
}
}
Для примера у меня есть данные в индексе с именем content.name < /p>
Код: Выделить всё
"GSMFN-NS60LS - AKI GS ASTRA MF NS60LS untuk mobil Toyota Innova, Yaris, All New Yaris, New Vios, New Corolla Altis, Honda Civic, All New Accord, CRV, All New CRV, Mazda 2, dll"
Но я хочу, чтобы в качестве результата предлагались исходные данные (без конвертации). ).
Например, если я хочу сгенерировать предложение по ключевому слову-опечатке «GSMFN-NS6», предложенный вариант — «GSMFN-NS60LS» в исходном регистре, а не преобразован в нижний регистр.
>
Кроме того, если я хочу получить предложение с ключевым словом «toyoto», в результате будет показано «Toyota», а не «toyota».
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/787 ... sticsearch