2017-11-20 3 views
0

elasticsearch에서 투영 결과를 투영 할 수 있습니까?새로운 유형의 탄성 탐침 투영

예를 들어

:

내가 내 지수의 3 가지 유형이 있습니다

User { Id, Name, Groups[], Location { Lat, Lon } } 
Group { Id, Name, Topics[] } 
Message { Id, UserId, GroupId, Content} 

을 내가 주어진 영역에서 그룹에 메시지와 사용자의 수를 얻으려면, 그래서 내 입력 될 것이다 :

{ Lat, Lon, Distance, GroupId } 

출력은 다음과 같습니다

Group { Id, Name, Topics, NumberOfUsers, NumberOfMessages } 

여기서 쿼리의 실제 출력은 쿼리에서 반환 한 데이터와 해당 데이터 내의 집계의 조합입니다.

이것이 가능합니까?

답변

0

Elasticsearch에는 JOIN이 없습니다 (부모 - 자식은 제외하고 무거운 결합에도 사용하지 않아야 함). 현재 데이터 모델을 사용하면 응용 프로그램 측 JOIN에만 액세스 할 수 있으며 왕복 횟수가 많은 실제 데이터에 따라 다릅니다. 나는 이것이 너무 잘 풀릴 것이라고 생각하지 않는다.

추신 : 일반적으로 사용 가능한 데이터가있는 간단한 테스트 문서를 제공하십시오. 문제를 시험하기 위해 테스트 데이터 세트를 정리해야한다면 누구나 실제로 시도해 볼 수있는 기회가 다소 줄어들 것입니다.