ElasticSearch Javascript,突出显示不起作用

ElasticSearch Javascript, Highlight not working

本文关键字:显示 不起作用 Javascript ElasticSearch      更新时间:2023-09-26

我们最近切换到ElasticSearch Angular版本,除了Highlight之外,一切都按预期工作,它根本没有返回。

这是我设置演示查询的方式:

$esClient.search({
            index: 'myIndex',
            body: {
                size: 10,
                from: 0,
                query: query,
                highlight: {
                    fields: {
                        "_all": { "pre_tags": ["<em>"], "post_tags": ["</em>"] }
                    }
                }
            }
        }).then(function (result) {
            // map the resultset for Row Template
            var currentRows = result.hits.hits.map(function (record) {
                return {
                    "type": record._type,
                    "entity": record._source,           // the result
                    "highlight": record.highlight,      // the highlights
                    "id": record._id                    // Search record ID
                };
            });
        });

如果我将相同的代码与经典的 XmlHttpRequest 一起使用并传递包含突出显示的查询模型,我会返回一个 JSON,其中包含每个结果的突出显示数组,而使用 ElasticSearch Angular 客户端查询成功,但我没有得到突出显示。

我做错了什么吗?

我想

你可能想改成这种格式:

{
"query" : {...},
"highlight" : {
    "pre_tags" : ["<tag1>"],
    "post_tags" : ["</tag1>"],
    "fields" : {
        "_all" : {}
    }
}}

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.html