6장 facet과 Aggregation(패싯과 애그리게이션)
- DBMS의 통계, Group By 연산과 유사
- Facet은 deprecated됨(이제 쓰지마라), 앞으로는 Aggregation 사용할 것
Facet(패싯)
- 텀(Term) : requestBody줄 때 term
- 범위(Range)
- 날짜 히스토그램(Histogram)
- 필터 적용
- 기존 패싯에 필터를 적용
- Facet_Filter 필드 추가 후 적용 필터 입력
- Service 필드에 Spa값
- 단독 필터패싯
- 텀, 범위 히스토그램 패싯과 같은 단독 패싯
- 기존 패싯에 필터를 적용
- 통계(Statistical) 패싯
- 위치 거리 패싯
집계(Aggregation)
- 검색 결과 품질 향상과 추가정보 제공
- 결과개선 및 분석
- kibana(http://www.elasticsearch.org/overview/kibana\)
- elasticsearch “facet”에서 발전
- 버킷 집계기(bucket aggregator)
- 관련 값과 도큐먼트 집합이있는 곳에 버킷 생성
- filter, missing, terms, range, histogram
- sub-grregation 가능(버킷, 매트릭 모두 가능)
- 매트릭 집계기(metric aggregator)
- 개별 도큐먼트와 연관된 정보 없음
- min, max, sum, avg
어그리게이션
- min, max 등등~
- stats, extended_status
- global aggregation
- 쿼리(질의)에 영향을 받지 않는 어그리게이션
- Filter aggregation
- Term
- Range
- Histogram, Date Histogram
질의(QueryDSL)
- QueryDSL
- 쿼리와 필터로 구성됨
- 쿼리
- 전문 검색에 사용
- 점수(스코어)를 계산
- 상대적으로 느림
- 복잡한 조건 검색 가능
- 결과가 캐싱되지 않음
- 필터 → 꽤 유용함, 7장정도에서 다룸
- 점수를 계산하지 않음
- 상대적으로 빠름
- On/Off(Yes/No)검색에 사용
- 결과가 메로리에 캐싱
- 결과가 다른 필터나 궈리,패킷에 사용가능
매핑
- put 메소드 사용해서
- properties 필드에 필드명과 타입 명시해 설정
- 확인
- 한 번 설정된 매핑은 추가는 가능하지만 변경/삭제는 안된다.
지울꺼면 다 지워야 한다.
[예제 6.1] hotels 인덱스 매핑
[예제 6.2] hotels 인덱스 데이터 입력 (Bulk API)
[예제6.3] service필드의 텀 페이셋 검색
[예제6.4]상위 3개 패이셋 검색 (having 을 적용한것과 비슷하다.
[예제6.5 페이셋을 텀의 count 순서 내림차순으로 표시]
이런식으로 order를 이용해서 텀 페이셋이 출력되는 순서를 설정할 수 있다.
- count : 텀의 결과 개수가 가장많은 텀부터 차례대로 나타낸다.
- term : 텀의 알파벳 오름차순으로 차례대로 나타낸다
- reverse_count: 텀의 결과 개수가 가장적은 텀부터 나타낸다.
- reverse_turn: 텀의 알파벳 내림차순을 차례대로 나타낸다.
6.1.7 위치 거리 패싯
옵션은 3개가 있다.
6.1.5.
패싯필터라는게 있음
- 텀패싯 결과에 적용
- =필터 패싯 사용 → 이게 더 간편하다.
근데 이제 패싯 안쓰고 Aggregation 씁니다.
Aggregation 집계
- 검색 결과 품질 향상과 추가정보 제공
- 결과개선 및 분석
- kibana
- 버킷집계기
- 매트릭 집계기(metric~)
- 개별 도큐먼트와 연관된 정보 없음
- min,max, sum, avg
http://pyrasis.com/book/DockerForTheReallyImpatient/Chapter14/01/01
책이 PDF로 올라와있쨩! ><
Docker 명령어
//접속
$ docker exec -it elastic bash
ctrl +p+q 동작하는 상태에서 빠져나옴
apt-get update
+) 추가 기능
리버! (책에는 없음, 찾아보자)
빅데이터로는 어떻게 붙는가? es-hadoop , es-spark 또 이런게 있쥐!
ES+로그스태시+키바나
http://www.slideshare.net/kjmorc/ss-49009522
엘라스틱Stack을 이용한 지하철 이용 대시보드 만들기
https://www.elastic.co/kr/blog/seoul-metro-2014
자바 알고리즘
http://www.java2s.com/Tutorials/Java/Algorithms_How_to/index.htm