Elasticsearch, logstash, Redis를 이용한 검색 기능을 구현하고 프로세스(로직)을 메모합니다.

API서버
- 검색어를 입력받는다. 검색어를 키워드로 Redis또는 Elasticsearch에 조회하고 조회 결과를 클라이언트로 리턴한다.
- 검색결과 또는 자주 찾는 키워드의 결과를 Redis에 캐싱한다.
MYSQL
- 원본 데이터를 저장한다.
- Logstash의 요청에 따라 데이터를 제공한다.
- 검색 기능외에 api에서 필요한 데이터를 제공한다.
Elasticsearch
- Logstash에서 입력받은 데이터를 역인덱스 형식으로 저장한다.
- 받은 검색어를 Analyzer에 따라 토크나이징한다.
- 검색어 조회에 결과를 리턴한다.
Logstash
- mysql에서 받아온 원본 데이터를 Elasticsearch로 input한다.
- 이번에는 output에서 jdbc를 사용했다
- jdbc는 정해진 쿼리를 정해진 스케쥴에 따라 실행한다.