엘라스틱서치의 검색엔진을 활용하여

커스텀한 검색 API 를 작성해보자 

git : https://github.com/psmon/searchapi


00. ElasticSearch Infra

검색 엔진을 활용한 검색 API를 만들기전에, 활용해야할 인프라를 구축해보자

의존 인프라,작동 소스코드,기능테스트를 위한 최소 스키마및 데이터 준비

를 모두 도커로 올인화하여 로컬 개발을 가속화 시킴과 동시에 다양한 복제환경구성이 용이할것이다.

01. Elk Client For Net Core

쿼리 DSL은 ORM에 있어서도, 검색엔진을 사용하는 검색 쿼리 사용에 있어서도

복잡한 검색기능을 단순하게 구현 하기위한 좋은 방법중에 하나이며

닷넷 어플리케이션내에서 DSL검색 방식을 사용하기에 적합한 NEST를 선택하였습니다.

02. Search data model

검색은 범위를 점점 좁혀가며 원하는 문서를 찾아가는 과정입니다.

  • 검색필터 : 수많은 아이템중 필요한 아이템 컬렉션으로 줄이기 위한 검색 옵션
  • 키워드검색 : 제공되는 필터만으로는 검색 결과를 줄이는것에 한계가 있다. 키워드 검색은 쿼리 검색으로 간주할수 있다.

03. Search API using NestClient

NestClient를 활용하여 검색 필터 기능,인덱싱 기능을 살펴봅시다.

04. Aggregation By Nest

검색과 동시에 집계처리를 하는 방법을 살펴봅시다.

집계기능이 검색 결과에 항상 있어야하는것은 검색내 재검색을 위한 기능으로

중요한 요소중 하나입니다.



  • No labels