弹性搜索突出显示不起作用

时间:2017-02-14 15:17:00

标签: elasticsearch highlighting

我是弹性搜索的新手,我正在尝试突出显示匹配的关键字

GET /{index}/_search 
{
  "query": {
     "match": {
     "_all": "first"
     }
   },
  "highlight": { 
     "fields": { 
         "*": {} 
       },
     "require_field_match": false
   } 
}

我的输出是一个嵌套对象。我也试过没有“require_field_match”参数

2 个答案:

答案 0 :(得分:0)

您无法通过_all字段中的搜索生成突出显示。

您必须在实际字段中搜索才能工作:

GET /{index}/_search 
{
  "query": {
     "match": {
       "title": "first"
     }
   },
  "highlight": { 
     "fields": { 
         "title": {} 
     }
   } 
}

答案 1 :(得分:0)

您可以使用以下链接中提到的2种方法之一来搜索并突出显示所有字段

  

字段只能用于突出显示原始字符串值   可以从_source字段或作为存储字段使用。

     

_source字段中不存在_all字段,而不是.all字段   默认情况下存储或启用,因此无法突出显示。有   两种选择。存储_all字段或突出显示原始字段   字段。

Highlight all fields