Здравствуйте. У меня есть индекс товаров (products) где используется поле описание (descriptions) в виде массива объектов, так как один товар имеет несколько описаний для разных сайтов.
Есть задача поиска по описаниям, и подсветка найденных фраз.
Я установил плагин GitHub - imotov/elasticsearch-analysis-morphology: Morphological Analysis Plugin for ElasticSearch (No longer maintained) и внес при создании индекса соотвествующие настройки. Когда я делаю поиск по nested полю, поиск находит только точные совпадения.
GET products/_search
{
"query": {
"bool": {
"should": [
{
"nested": {
"path": "descriptions",
"query": {
"bool": {
"should": [
{
"match": {
"descriptions.description": "плесенью"
}
}
],
"filter": [
{ "term": { "descriptions.domain_id": 3 }}
]
}
},
"inner_hits": {
"highlight": {
"fields": {
"descriptions.description": {}
}
}
}
}
}
],
"minimum_should_match" : 1
}
}
}
выдаст подобные результаты:
хорошо справляются с вредителями и плесенью, но всё...
но проигнорирует все варианты с подобными фразами
Интересное действие; Особая устойчивость к плесени
Есть ли возможно подсвечивать такие слова с другим окончанием?