看,灰机...

关于elasticsearch 5.4版本高亮查询不生效的问题

Elasticsearch | 作者 xiajichenxi | 发布于2021年08月18日 | 阅读数:1309

相关mapping:

11.png

 
相关数据:

22.png

 
查询语句:
{
"query": {
"bool": {
"must": {
"match_phrase": {
"_all": {
"query": "googleapis.com"
}
}
}
}
},
"highlight": {
"require_field_match": false,
"boundary_chars": ".,!?;,。?!",
"fields": {
"*": {}
}
}
}
问题:
  当使用这样的查询语句进行查询的时候,
  如果在“query”这个地方匹配的是一个完整字符串,例如:“chart.googleapis.com”,则可以查询出高亮显示部分:
        "highlight": {
"sensitive_strings_domain.raw": [
"<em>chart.googleapis.com</em>",
"<em>chart.googleapis.com</em>",
"<em>chart.googleapis.com</em>",
"<em>chart.googleapis.com</em>",
"<em>chart.googleapis.com</em>"
]
}
  如果在“query”这个地方匹配的部分字符串,例如:“googleapis.com”,则返回信息中没有高亮部分:
请问各路大神是否遭遇过以及是否有解决方法呢?
已邀请:

tongchuan1992 - 学无止境、学以致用

赞同来自:

建议你在建立索引模板的时候,增加把一些特殊字符例如逗号,引号作为你的分词对象,默认标准分词器是空格进行分词的,就可以解决你的问题。

要回复问题请先登录注册