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