카테고리 없음

검색 프로세스(Elastic, Redis)

namu445 2022. 6. 23. 13:59

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

 

API서버

  • 검색어를 입력받는다. 검색어를 키워드로 Redis또는 Elasticsearch에 조회하고 조회 결과를 클라이언트로 리턴한다.
  • 검색결과 또는 자주 찾는 키워드의 결과를 Redis에 캐싱한다.

MYSQL

  • 원본 데이터를 저장한다.
  • Logstash의 요청에 따라 데이터를 제공한다.
  • 검색 기능외에 api에서 필요한 데이터를 제공한다.

Elasticsearch

  • Logstash에서 입력받은 데이터를 역인덱스 형식으로 저장한다.
  • 받은 검색어를 Analyzer에 따라 토크나이징한다.
  • 검색어 조회에 결과를 리턴한다.

Logstash

  • mysql에서 받아온 원본 데이터를 Elasticsearch로 input한다. 
  • 이번에는 output에서 jdbc를 사용했다
    • jdbc는 정해진 쿼리를 정해진 스케쥴에 따라 실행한다.