Вопрос про highlighting


#1

Здравствуйте! При использовании хайлайтинга в nested объектах, почему-то подсвечиваются все элементы, содержащие хотя бы одно совпадение. Например:

{
"took": 16,
"timed_out": false,
"_shards": {
    "total": 6,
    "successful": 6,
    "skipped": 0,
    "failed": 0
},
"hits": {
    "total": 1,
    "max_score": null,
    "hits": [
        {
            "_index": "contracts_index_all",
            "_type": "contract",
            "_id": "58900638",
            "_score": null,
            "_source": {
                "price": 1170471.16,
                "status": 1
            },
            "highlight": {
                "products.name": [
                    "<em>Стиральное</em> моющее средство,\n« Дося-автомат»\n",
                    "<em>Стиральный</em> <em>порошок</em>",
                    "<em>Стиральный</em> <em>порошок</em>\n«<em>Ariel</em> Профессионал»\n",
                    "<em>Стиральный</em> <em>порошок</em>\n«Аистенок»\n"
                ]
            },
            "sort": [
                1546214400000
            ],
            "inner_hits": {
                "products": {
                    "hits": {
                        "total": 1,
                        "max_score": 0,
                        "hits": [
                            {
                                "_nested": {
                                    "field": "products",
                                    "offset": 20
                                },
                                "_score": 0,
                                "_source": {
                                    "productId": 150617488,
                                    "name": "Стиральный порошок\n«Ariel Профессионал»\n",
                                    "price": 1700,
                                    "quantity": 140,
                                    "sum": 238000
                                }
                            }
                        ]
                    }
                }
            }
        }
    ]
}

}

Как видим, было найдено всего одно совпадение в inner_hits, а в поле highlight было выведено несколько, что не позволяет связать результаты. Такое поведение является нормальным?


(Igor Motov) #2

Вы, скорее всего, поставили highlight в основной запрос, вместо того, чтобы поместить его в inner_hits.


#3

Благодарю за помощь! Я не заметил в документации данного момента.


(system) #4

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.