2016-07-20 2 views
2

"index_19_7_16"이라는 Elasticsearch 색인에 다음 JSON 중첩 배열 객체를 삽입하는 방법은 무엇입니까? Elasticsearch : 중첩 된 Json 배열 객체를 Elasticsearch 색인에 삽입하는 방법

{ 
     "hour": [ 
     { 
      "time": "00:00", 
      "master_id": [ 
      { 
       "m.id": 111, 
       "m.value": 222 
      }, 
      { 
       "m.id": 113, 
       "m.value": 444 
      } 
      ], 
      "child_id": [ 
      { 
       "c.id": 77, 
       "c.value": 222 
      }, 
      { 
       "c.id": 7751, 
       "c.value": 444 
      } 
      ] 
     }, 
     { 
      "time": "01:00", 
      "master_id": [ 
      { 
       "m.id": 111, 
       "m.value": 222 
      }, 
      { 
       "m.id": 113, 
       "m.value": 444 
      } 
      ], 
      "child_id": [ 
      { 
       "c.id": 77, 
       "c.value": 222 
      }, 
      { 
       "c.id": 7751, 
       "c.value": 444 
      } 
      ] 
     } 
     ] 
    } 

내가 전에 매핑을 생성하거나 탄성 색인에 동적으로 JSON을 삽입해야합니까.

답변

2

맵핑을 미리 작성해야하며 일부 필드는 "type":"nested"이어야합니다. 그렇지 않으면 ES는 단지 오브젝트를 작성합니다. 여기에서는 특히 nested type of fields in ES을 언급합니다.

으로 중첩 된은 문서의 중첩 된 성격을 의미하므로 아무 것도 할 필요가 없습니다.

+0

Andrei Stefan : 감사합니다. 어떤 방식 으로든 검색/집계 문제가 더 좋으며 "유형"을 만들거나 "중첩"하거나 매핑없이 Json을 삽입 할 수 있습니까? – VitalyT

+0

'nested' 이야기는 필드 값을 같은'nested' 필드의 다른 필드 값과 연관시키는 것에 관한 것입니다. 당신의 미래의 쿼리가''m.id ": 111"에 대해 "m.value": 222'와 "connected"로 간주된다면 네스트가 필요합니다. –

+0

미래의 집계는 모든 "m.id"의 합계입니다 : 111, 시간 범위 사이의 값 .. 예 : SUM + = 00 : 00-02 : 00의 모든 값 "m.id": 111 – VitalyT