0

内部フィールドで作業するために 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」を見てください)。しかし、まったく同じクエリを使用しても機能しません。

4

1 に答える 1

4

マッピングに "store": "yes" を追加すると、問題が解決します。(マッピングで「store」ではなく「stored」と誤って入力しました)

于 2013-05-27T12:19:56.813 に答える