У меня есть индекс elasticsearch со следующими данными:
«Команда А» (как пример)
Мои настройки индекса:
"index": {
"number_of_shards": "1",
"provided_name": "tyh.tochniyot",
"creation_date": "1481039136127",
"analysis": {
"analyzer": {
"whitespace_analyzer": {
"type": "whitespace"
},
"ngram_analyzer": {
"type": "custom",
"tokenizer": "ngram_tokenizer"
}
},
"tokenizer": {
"ngram_tokenizer": {
"type": "ngram",
"min_gram": "3",
"max_gram": "7"
}
}
},
Когда я ищу:
_search
{
"from": 0,
"size": 20,
"track_scores": true,
"highlight": {
"fields": {
"*": {
"fragment_size": 100,
"number_of_fragments": 10,
"require_field_match": false
}
}
},
"query": {
"match": {
"_all": {
"query": "Tea"
}
}
}
Я ожидаю получить результат выделения:
"highlight": {
"field": [
"The A-<em>Tea</em>m"
]
}
Но я не получаю никаких изюминок вообще.
Причина, по которой я использую пробелы для поиска и ngram для индексации, заключается в том, что я не хочу, чтобы на этапе поиска разбивалось слово, которое я ищу, например, если я ищу «Команда», он найдет меня «Чай», «команда», « Команда"
Спасибо