【问题标题】:Elastic search highlight not working弹性搜索突出显示不起作用
【发布时间】:2017-07-02 22:57:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: elasticsearch highlighting


    【解决方案1】:

    您无法通过从 _all 字段中进行搜索来生成突出显示。

    您必须在实际字段中进行搜索才能使用:

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

    【讨论】:

    • 但我需要搜索几乎所有领域
    【解决方案2】:

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

    一个字段只能用于高亮如果原始字符串值 可以从 _source 字段或作为存储字段获得。

    _all 字段不存在于 _source 字段中,它也不存在 默认存储或启用,因此无法突出显示。有 两个选项。存储 _all 字段或突出显示原始字段 字段。

    Highlight all fields

    【讨论】:

      猜你喜欢
      • 2018-03-26
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多