【发布时间】: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 的数据。