Добрый день,
Есть текст, в котором символы, цифры и буквы смешиваются в одно слово и с помощью фильтра word_delimiter хотел это разделить, но поломалась подсветка результатов.
Настройки индекса и запросы поиска
DELETE test
PUT test
{
"settings": {
"number_of_shards": 1,
"analysis": {
"normalizer": {
"lowercase": {
"type": "custom",
"filter": "lowercase"
}
},
"filter": {
"word_delimiter": {
"type": "word_delimiter_graph",
"preserve_original": true,
"catenate_all": true
}
},
"tokenizer": {
"my_ngram_tokinizer": {
"type": "edge_ngram",
"min_gram": 1,
"max_gram": 50,
"token_chars": [
"letter",
"digit",
"symbol",
"punctuation"
]
}
},
"char_filter": {
"char_mapping": {
"type": "mapping",
"mappings": [
"Ё => Е",
"ё => е"
]
}
},
"analyzer": {
"my_ngram": {
"type": "custom",
"tokenizer": "my_ngram_tokinizer",
"char_filter": [
"html_strip",
"char_mapping"
],
"filter": [
"lowercase",
"word_delimiter"
]
},
"my_search": {
"tokenizer": "whitespace",
"char_filter": [
"html_strip"
],
"filter": [
"lowercase"
]
}
}
}
},
"mappings": {
"_doc": {
"properties": {
"title": {
"type": "keyword",
"normalizer": "lowercase",
"fields": {
"ngram": {
"type": "text",
"analyzer": "my_ngram",
"search_analyzer": "my_search"
}
}
}
}
}
}
}
PUT test/_doc/1
{
"title" : "Сделка №25"
}
PUT test/_doc/2
{
"title" : "Import46 (copy).csv"
}
GET test/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"title.ngram": {
"query": "Сделка №2",
"operator": "AND"
}
}
}
]
}
},
"highlight": {
"fields": {
"*": {}
}
}
}
GET test/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"title.ngram": {
"query": "Import46",
"operator": "AND"
}
}
}
]
}
},
"highlight": {
"fields": {
"*": {}
}
}
}
Подскажите, как починить подсветку ?