【问题标题】:ElasticSearch Highlighting Inner FieldElasticSearch 突出显示内部字段
【发布时间】:2013-05-22 06:42:18
【问题描述】:

我似乎无法使用 ElasticSearch 0.90 突出显示内部字段。 例如,这是我的文档:

{ "foo": {  
    "bar": "test bonsai"  
}}

查询如下:

{ "query": {  
    "query_string": {  
      "query": "bonsai"
    }
  },  
  "highlight": { 
     "pre_tags": ["<b>"],
     "post_tags": ["</b>"], 
     "fields": { 
       "foo.bar": {}
     }  
  }  
}

返回查询结果,但没有高亮信息。如果我不嵌套我的字段(例如{“foo”:“test bonsai”},并请求突出显示“foo”字段而不是“foo.bar”),那么一切正常。但我无法让它与嵌套字段一起使用。

我尝试了不同的字段设置,包括“foo”、“bar”、“_all”、“foo.”和“”。我也尝试过使用映射,包括定义“term_vector”(with_positions_offsets)、“index”、“analyzer”、“stored”和“include_in_all”。没有一个窍门。
在文档上似乎支持它(here,例如查看“bio.title”)。但即使我使用完全相同的查询,它也不起作用。

【问题讨论】:

  • 它应该可以工作。您可以发布您的映射详细信息吗?要获取映射:对localhost:9200/yourindex/yourtype/_mapping 执行 GET。为了能够突出弹性搜索,需要来自字段自己的存储或来自 _source 的数据。

标签: elasticsearch highlight


【解决方案1】:

在映射中添加 "store": "yes" 可以解决问题。 (我在映射中错误地输入了“stored”而不是“store”)

【讨论】:

  • 您是否禁用了 _source 字段?
猜你喜欢
  • 2014-10-23
  • 2015-03-30
  • 2013-08-24
  • 2015-11-27
  • 2020-04-27
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
相关资源
最近更新 更多