内部フィールドで作業するために 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.bar" ではなく "foo" フィールドの強調表示を要求)、すべて正常に動作します。しかし、ネストされたフィールドでは機能しません。
「foo」、「bar」、「_all」、「foo. 」、「」など、フィールドのさまざまな設定を試しました。また、「term_vector」(with_positions_offsets)、「index」、「analyzer」、「stored」、「include_in_all」の定義など、マッピングをいじってみました。誰もトリックをしません。
ドキュメントでは、サポートされているようです (ここでは、たとえば「bio.title」を見てください)。しかし、まったく同じクエリを使用しても機能しません。