【发布时间】:2017-05-22 10:29:54
【问题描述】:
我已经通过简单的匹配查询使用 ES 突出显示:
GET /_search
{
"query": {
"match": {
"Text": "key words here"
}
},
"highlight": {
"pre_tags" : ["<span class='highlighter'>"],
"post_tags" : ["</span>"],
"fields": {
"Text": {
"fragment_size": 400,
"number_of_fragments": 1,
"no_match_size" : 20
}
}
}
}
这很好用,并在结果中返回带有指定标签的高亮文本。
我想在这样的 multi_match 查询上使用突出显示:
GET /_search
{
"query": {
"multi_match": {
"query": "GB RAM",
"operator": "AND",
"fields": "_all"
}
},
"highlight": {
"pre_tags": [
"<span class='highlighter'>"
],
"post_tags": [
"</span>"
],
"fields": {
"Text": {
"fragment_size": 400,
"number_of_fragments": 1,
"no_match_size": 20
}
}
}
}
这不太行,返回的高亮文本是 20 个字符长(no_match_size),像这样:
"highlight": {
"Text": [" DVD-RAM"]
}
我在这里做错了什么?
【问题讨论】:
标签: elasticsearch