ElasticSearch突出内场

时间:2013-05-27 11:53:40

标签: elasticsearch highlight

我似乎无法使用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”)。但即使我使用完全相同的查询,它也不起作用。

1 个答案:

答案 0 :(得分:4)

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