검색 상세

이커머스 검색엔진에서의 효율적 캐싱방법론

Efficient Caching Methodology on Search Engines for e-Commerce

초록/요약

현재 시중에서 가장 널리 쓰이는 검색엔진으로는 Apache Lucene과 이를 확장한 Apache Solr, ElasticSearch 등이 있다. 이들 검색엔진 모두 문서에서 키워드를 추출한 후 키워드를 기준으로 문서를 나열하는 역색인(Inverted Index)구조를 이용하여 데이터를 저장해 둔다. 이후 사용자의 검색 질의가 이루어질 때 검색 질의어(키워드)에 연결된 문서들을 찾아내어 일종의 순서 정렬 작업을 한 후(Ranking) 사용자에게 보여준다. 검색 엔진은 이 문서 찾기 과정과 순서 정렬 과정에서 상당한 시간을 소비하게 되는데, 이 때 응답 시간을 감소시키기 위하여 캐시를 도입하고 있다. 일반적으로 LRU(Least Recently Used) 및 LFU(Least Frequently Used) 캐시를 사용한다. 그러나 일반적인 문서 검색을 목표로 하는 검색과는 달리, 이커머스에서 사용되는 상품 검색은 검색의 트렌드가 일반적인 검색과는 다른 형태를 보인다. 본 논문에서는 이커머스 검색의 특징을 알아보고 이에 맞는 캐시방법론을 적용하여 검색 수행 시간을 단축하여 성능을 향상시키는 방법론에 대해 논하고자 한다.

more

목차

제 1 장 서론 .............................................................................................................. 1
제 2 장 검색엔진의 기본 작동 원리.......................................................................... 2
2.1 색인 프로세스 ................................................................................................. 2
2.2 검색 프로세스 ................................................................................................. 3
제 3 장 서비스 레벨 아키텍처 .................................................................................. 8
제 4 장 캐시 ............................................................................................................ 12
제 5 장 이커머스 검색엔진의 특성과 패턴 ............................................................. 14
제 6 장 시스템 디자인............................................................................................. 17
6.1 Permanent Cache 영역 .................................................................................. 21
6.2 Tail Cache 영역............................................................................................. 23
제 7 장 퍼포먼스 테스트 ......................................................................................... 27
7.1 하드웨어 및 기본 테스트 환경 ..................................................................... 27
7.2 Permanent Cache........................................................................................... 28
7.3 Tail Cache ..................................................................................................... 29
7.4 성능 결과 ...................................................................................................... 29
제 8 장 결론 및 향후 연구...................................................................................... 32
참고문헌................................................................................................................... 33
Abstract ................................................................................................................... 34

more