2015-01-04 6 views

답변

1

하나는 일반 객체가 평평하게되어 있다는 것입니다. 내부 객체에서 배열을 사용하는 경우 객체의 개별 속성을 구분할 수 없습니다. 이 색인 것

{ 
    "team": { 
    "name":"the best", 
    "players": [ 
     { 
     "firstname":"Ron", 
     "lastname":"Red" 
     }, 
     { 
     "firstname":"Bea", 
     "lastname":"Blue" 
     } 
    ] 
    } 
} 

로 : 예, 당신은 선수와 팀이 상상이 문제를 극복 할 수있는 중첩 된 객체와

team.name=the best 
team.players.firstname=[ron,bea] 
team.players.lastname=[red,blue] 

을, 그러나 당신은 중첩 된 쿼리 작업을 시작해야하고 집계. 따라서 firstname Ron과 lastname red가있는 사람을 쿼리하려면 중첩 된 이름이 필요합니다.

빠른 변경 스키마에 대한 귀하의 발언에 대해 마지막으로 한 말씀드립니다. 그것은 다른 문제입니다. 당신이 선택한 구조는 중요하지 않습니다. 스키마의 변경 사항에 따라 모든 콘텐츠를 다시 색인해야한다는 의미 일 수 있습니다. 개체가이 중첩 된 경우

+0

을하는 데 도움이

희망은 그 객체의 권리를 검색하기 위해 여러 쿼리가 의미? –

+0

아니요. 실제로는 중첩 쿼리를 사용하여 문서를 가져올 수 있습니다. 중첩 된 객체를 포함하는 문서 만 반환 할 수 있습니다. 어쩌면 당신은 elasticsearch에서 부모 - 자식 구조도 사용할 수 있습니다. –

+0

적응 형 시스템이 필요하며 빠르게해야합니다. –

관련 문제