ElasticSearch Javascript,突出显示无法正常工作

时间:2016-02-10 12:42:25

标签: javascript angularjs elasticsearch

我们最近切换到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客户端查询成功但我不回到亮点。

我做错了吗?

1 个答案:

答案 0 :(得分:2)

我想你可能想要改成这种格式:

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

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