2016-06-25 2 views
0

EDIT:ダッシュを含むフィールド名には、さらに検索しようとしているサブプロパティがあります。検索elasticsearchフィールドにダッシュを付けたフィールド名

{ 
    "item": { 
     "item-value": { 
      "subvalue": "subvalue" 
     }, 
     "item-name": "name" 
    }, 
    "other_field": "other_value" 
} 

私は「other_field」と「item.item名」に一致するクエリを試してみてください、ヒットが返されます

は、私はこのようないくつかのフィールド名にダッシュでいくつかのelasticsearch文書を持っています。 item.item-value.subvalueに対するクエリは、一致する必要がある場合でも毎回0ヒットを返します。

{"match": {"item.item-subvalue.subvalue": "subvalue"}} 

私は文書を再構築することなく、このフィールドを一致させるために、クエリまたは設定で操作できる何か他のものはありますか?

+0

本当ですか?私は同じことを試してきたので正しい結果が得られます。 'curl -XPOST http:// localhost:9200/index_name/_search -d '{" query ":{" match ":{" item.item-name ":" name "}}}' '私にヒットを与えます。 「_index」:「inddex_name」、「_ type」:「type_name」、「_ id」:「1」、「_ score」:「」「合計」1、「max_score」:0.30685282「ヒット」「 { " :030685282、 "_ source":{ "item":{ "item-name": "name"、 "item-value": "value"}、 "other_field": "other_value"}}]} '。 –

+0

インデックスのマッピングを表示してください。 'item-value'は' nested'フィールドです。 – Richa

答えて

0

タイプミスのようです。 {"一致":{"item.item-value.subvalue": "小計"}}

関連する問題