엘라스틱서치
-
[13장] 클러스터와 노드 구성책/엘라스틱_스택_개발부터_운영까지 2022. 5. 1. 14:56
클러스터 구성 방법 노드 클러스터 동작 원리 http계층, 전송계층 마스터 노드, 데이터 노드, 인제스터 노드 클러스터 백업 방법 샤드, 샤드 할당 과정, 모니터링, 샤드의 크기와 갯수 구성 클러스터, 노드, 인덱스 설정방법 개념 설명 클러스터: 여러 대의 컴퓨터를 병렬로 연결해 하나의 시스템을 구성하는 것 고가용성, 시스템 성능 향상 분산처리 여러 노드의 집합 노드: 클러스터를 구성하는 요소 엘라스틱서치 클러스터를 구성하는 하나의 인스턴스 데이터 저장 및 인덱싱과 검색에 사용 노드 이름이 중복되면 안 됨 하나의 노드가 여러 역할 가능 하드웨어의 영향을 많이 받음 http 모듈 api 형태로 제공, 외부 클라이언트 앱과 통신시 사용 9200번대 포트 사용 전송 모듈 클러스터 내부 모듈 간의 통신에 사용 ..
-
[5장] 엘라스틱서치 집계책/엘라스틱_스택_개발부터_운영까지 2022. 3. 23. 08:23
엘라스틱서치 집계 메트릭 집계, 버킷 집계, 파이프라인 집계 메트릭 집계: 통계나 계산에 사용 버킷 집계: 도큐먼트를 그룹핑 하는데 사용 size:0 설정하면 집계에 사용한 도큐먼트를 결과에 포함하지 않아 비용이 절감됨 메트릭 집계 최소/최대/합계/평군/중간값 같은 통계 결과를 보여줌 메트릭 집계 종류 평균값(avg) 최솟값(min) 최댓값(max) 총합(sum) 백분윗값(percentile) min/max/sum/avg/count(stats) 유니크 갯수(cardinality) 위치 정보 중심점(geo-centroid) 유니크 값 계산 precision_threshold는 높을 수록 정확도가 올라가지만 리소스를 많이 사용함 실제 결과보다 크게 설정해야함 기본값은 3000, 최대 40000까지 설정가능 ..
-
[4장] 엘라스틱서치 검색책/엘라스틱_스택_개발부터_운영까지 2022. 3. 9. 12:28
내용정리 쿼리 컨텍스트 & 필터 컨텍스트 쿼리 컨텍스트: 유사도를 계산해 결과를 보여줌 포함여부를 찾을 때 결과를 제공 필터 컨텍스트: 유사도를 계산하지 않고 일치여부에 대한 결과를 보여줌 정확하게 일치 여부를 찾을 때 예/아니오의 결과를 제공 스코어 계산하지 않음 => 쿼리 속도 빠름 결과 캐시 사용가능 엘라스틱서치는 힙 메모리의 10%를 캐시로 사용 쿼리 스트링 & 쿼리 DSL 쿼리 스트링 한 줄 정도의 간단한 쿼리 쿼리 DSL 한 줄에 넣기 힘든 복잡한 쿼리 JSON기반 해당 용어가 포함된 도큐먼트를 반환 유사도 스코어 BM25 알고리즘 기반 스코어가 높을 수록 찾으려는 도큐먼트에 가까움 TF(Term Frequency), IDF(Inverse Document Frequency) 검색에 문서가 얼마..
-
[3장] 엘라스틱 서치 기본책/엘라스틱_스택_개발부터_운영까지 2022. 2. 28. 22:03
내용정리 인덱스와 도큐먼트 인덱스: 도큐먼트를 저장하는 논리적 구분자 도큐먼트: 실제 데이터를 저장하는 단위 클러스터----(n)인덱스----(n)도큐먼트----(n)필드 MySQL 엘라스틱서치 테이블 인덱스 레코드 도큐먼트 컬럼 필드 스키마 매핑 동일한 인덱스에 있는 도큐먼트는 동일한 스키마 도큐먼트는 반드시 하나의 인덱스에 포함되어야 함 도큐먼트 수정, 삭제는 비용이 많이 든다 벌크 데이터 bulk API는 읽기는 지원하지 않음(생성,삭제,수정만 지원) ndjson 형식을 사용(라인이나 쉼표 주의, json과 문법 다름 -> json 형태로 포맷팅하면 작동하지 않음) 매핑 다이나믹 매팽 명시적 매핑 저장할 데이터를 확실히 안다면 명시적 매핑이 좋음 이미 정의된 필드를 수정하거나 삭제할 수 없음(주의할..