2017-06-08 10 views
1

配列を持つ1つのパラメータを持つデータがあります。配列内のオブジェクトは木場ではうまくサポートされていませんが、キーの値が1つのみの配列をフィルタリングする方法があるかどうかを知りたいと思います。ElasticSearch-Kibana:キーで配列を配列

これはexempleためのJSONです:私は意味

{ 
    "_index": "index", 
    "_type": "data", 
    "_id": "8", 
    "_version": 2, 
    "_score": 1, 
    "_source": { 
    "envelope": { 
     "version": "0.0.1", 
     "submitter": "VF12RBU1D53087510", 
     "MetaData": { 
     "SpecificMetaData": [ 
      { 
      "key": "key1", 
      "value": "94" 
      }, 
      { 
      "key": "key2", 
      "value": "0" 
      } 
     ] 
     } 
    } 
    } 
} 

そして、私はそれらだけをプロットするために、私のSpecificMetaData配列でキー1を含むデータを持っていると思います。今のところ、私がプロットするとき、SpecificMetaData.valueは配列のすべての値(key1とkey2の値)をとり、SpecificMetaData.value1とSpecificMetaData.value2を提案しません。

詳細が必要な場合は教えてください。ありがとうございました。

答えて

0

特定のメタデータがnested_typeとして動作し、ネストされたフィルタのinner_hitsがkey1を持つオブジェクトを提供できるように、データをマッピングにマップする必要があります。

PUT envelope_index 
{ 
    "mappings": { 
     "document_type": { 
      "properties": { 
       "envelope": { 
        "type": "object", 
        "properties": { 
         "version": { 
          "type": "text" 
         }, 
         "submitter": { 
          "type": "text" 
         }, 
         "MetaData": { 
          "type": "object", 
          "properties": { 
           "SpecificMetaData": { 
            "type": "nested" 
           } 
          } 
         } 
        } 
       } 
      } 
     } 
    } 
} 

POST envelope_index/document_type 
{ 
    "envelope": { 
     "version": "0.0.1", 
     "submitter": "VF12RBU1D53087510", 
     "MetaData": { 
      "SpecificMetaData": [{ 
        "key": "key1", 
        "value": "94" 
       }, 
       { 
        "key": "key2", 
        "value": "0" 
       } 
      ] 
     } 
    } 
} 

POST envelope_index/_search 
{ 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "nested": { 
      "inner_hits": {}, 
      "path": "envelope.MetaData.SpecificMetaData", 
      "query": { 
       "bool": { 
       "must": [ 
        { 
        "term": { 
         "envelope.MetaData.SpecificMetaData.key": { 
         "value": "key1" 
         } 
        } 
        } 
       ] 
       } 
      } 
      } 
     } 
     ] 
    } 
    } 
} 
関連する問題