2016-07-19 3 views
0

나는 200 만 개 이상의 문서에 가격과 할인이 있습니다. 10 %, 20 %, 30 %, ......, 90 %, 100 % 할인 (할인은 반올림 됨)으로 제품의 비율을 얻어야합니다. 데이터를 가져 와서 애플리케이션 계층에 집계하는 것은 너무 많은 시간이 걸립니다. 스레드가 오랫동안 바쁠 것이므로 다른 사용자에게 지연이 생길 수도 있습니다.Elastic Search에서 집계 용 사용자 정의 필터 적용

집계 논리에서 사용자 지정 필터를 만들 수있는 방법이 있습니까?

+0

두 가지 전혀 관련이없는 질문입니다. 그들을 두 개의 게시물로 나눌 수 있습니까? – imotov

+0

@imotov 두 번째 부분이 제거되었습니다. – krrish

답변

3

사용자 정의 필터가 필요하지는 않습니다. 이 기능은 histogram aggregation의 표준 부분입니다. 보다 유연한 범위가 필요한 경우에 대비하여 range aggregation을 살펴볼 수도 있습니다.

용어 계산 방법을 완전히 융통성있게 조정하려면 script in terms aggregation을 사용하여 레코드를 그룹화하려는 값을 반환 할 수도 있습니다. 그러나 200 만 개의 문서가있는 경우 문서를 인덱싱하기 전에 할인을 미리 계산하여이 값을 별도의 필드로 저장 한 다음 히스토그램 집계를 사용하는 것이 좋습니다.

+0

히스토그램 API를 살펴 보았습니다. 그러나 나는 문서에서 키에 대한 계산을 할 수있는 방법을 찾지 못했습니다. 백분율의 경우 가격 및 할인 키를 사용해야합니다. – krrish

+0

@krrish 답변을 업데이트했습니다. – imotov

관련 문제