Search Process

박성운·2022년 8월 16일
0


Inverted-index
그냥 인덱스에서 특정 단어를 가져와야 한다면 한줄 씩 내려가며 있으면 가져가는 형식이다. 한지만 Elasticsearch는 데이터를 저장할때 inverted index라느 구조를 만들어 저장한다. 일단 주요 키워드가 키 값이 되고, 그 키워드가 포함 되어 있는 데이터열들이 value로 저장된다.

이건 내가 만든 검색 파이프라인이다. 우선 도커안에 5개의 가상 컴퓨터들이 작동된다. Fronted에서 request가 backend즉 nest.js로 전해진다. 그리고 API를 사용해서 redis라는 cache 메모리에 요구하는 데이터가 있는지 확인한다. 만약 데이터가 있을 경우 cache hit로 reponse를 한다. 만약 없을경우 elasticsearch에서 찾는다. elasticsearch는 mysql에서 데이터를 뽑아 logstash라는 파이프라인을 통해 찾아온다. 조회한 데이터를 다음번에 검색할때 redis에서 찾을 수 있게 저장해둔다. 그리고 그 데이터를 백엔드로 보낸다.

0개의 댓글