Добрый день!
Возникла проблема, связанная с подсветкой результатов поиска: никакой подсветки вообще не выдаётся.
Она имеет место, если:
- к полю привязан термвектор ("with_positions_offsets");
- ищем фразу;
- в фразе есть хотя бы одно стоп-слово.
Пример.
Создание индекса:
PUT twitter
{
"settings": {
"analysis": {
"analyzer": {
"default": {
"type": "standard",
"stopwords": [ "and", "the" ]
}
}
}
},
"mappings": {
"tweet" : {
"properties": {
"text" : {
"type": "string",
"term_vector": "with_positions_offsets"
}
}
}
}
}
Добавление записи:
PUT twitter/tweet/1
{
"text" : "this and end"
}
Поиск:
POST /twitter/tweet/_search
{
"query": {
"match_phrase": {
"text": "this and end"
}
},
"highlight": {
"fields" : {
"text" : {}
}
}
}
Результат:
"hits": [
{
"_index": "twitter",
"_type": "tweet",
"_id": "1",
"_score": 0.38356602,
"_source": {
"text": "this and end"
}
}
]
Можно ли что-нибудь с этим сделать? Пока что единственным нашим решением было убрать все стоп-слова.