elasticsearch
-
Elasticsearch에서의 relationDEV 2023. 12. 2. 20:50
반복되는 일정을 검색하는 방법에 대한 이야기 Elasticsearch에서 어떻게 RDB처럼 relation을 만들어 join검색을 할 수 있을까? radio_progaram의 방송시간 데이터 Data { "program_name": "TBS 기상정보", "channel_name": "TBS FM", .... "routine": [ { "days": [ "MON", "TUE" ], "start_time": 658, "end_time": 700 }, { "days": [ "MON", "TUE" ], "start_time": 958, "end_time": 1000 } ] } User Query 이번주 월요일 라디오 월요일 밤 10시 라디오 오늘 아침 라디오 이번 주말 라디오 How to search on ES..
-
Spring batch integration test (feat.Elasticsearch)DEV 2023. 12. 2. 20:10
Purpose of Integration Test 여러 컴포넌트 간 상호작용이 정상적으로 수행되는지 DAO가 올바르게 연결돼 있어서 원하는 데이터를 저장, 읽을 수 있는지? Test Environment Setup 멱등성(idempotent) 유지 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질 멱등성이 깨지기 쉬운 구간 → 외부 모듈 → DB 개발 DB로 테스트를 하기엔 좀 그렇고, 테스트만을 위한 DB를 세팅하기도 좀.. DB 테스트 환경 구축 방법 local DB 설치 in-memory DB - H2, 빠르지만 특정 DB에 특화된 기능 지원 x 사용하는 DB의 Embedded Library 사용 - in-memory DB 이슈 해결 - embedded를 지원하지 않거나 특정 버전, OS지원 ..
-
Elasticsearch Shard & 성능DEV 2023. 12. 2. 10:57
Elasticsearch 샤드의 개수에 따른 색인(index)과 검색(search) 성능에 관한 이야기. Cluster 하나 이상의 노드로 구성 Node 단일 ES인스턴스 master node, data node 서버별 1개 노드 설정을 추천 Index 문서 모음 shard → lucene index 검색/색인이 병렬로 동작할 수 있도록 데이터를 여러 개의 작은 조각으로 나누는 것. primary shard, replica shard Primary shard index(색인), search(검색) 기본적으로 색인 성능을 위함 인덱스 생성 후, 데이터 생성전에만 shard size 설정 가능 7.x default 1개, 6.x default 5개 Replica shard search 검색 성능을 위함, 언..