[엘라스틱 서치] Elastic search 훑어보기

Colacan·2022년 7월 25일
1

[엘라스틱 서치]

목록 보기
1/2
  • 검색

    1. 데이터를 찾기위한 검색기능
    2. 일종의 쿼리
  • 검색 종류

    1. 텍스트 검색
    2. 범위 검색 (날짜, 가격등 범위 정보)
    3. 불리언 검색 (체크박스 정보)
    4. 위치정보 (현재 위치 기반 정보)
  • 엘라스틱 텍스트 검색

    1. RDBMS의 경우 Like를 이용할 경우 단순히 가져오기만 하므로 정렬에 시간이 소요됨
    2. 엘라스틱은 Term Frequency와 Inverse Document Frequency를 이용함
    3. Term Frequency : 도큐먼트가 찾는 검색어의 빈도가 높을 수록 도큐먼트의 점수 높음
    4. Inverse Document Frequency : 검색어 각각에 대한 점수 계산, 도큐먼트에서 검색어의 빈도가 높을수록 검색어의 점수가 낮음
  • 엘라스틱 위치정보 검색

    1. 좌표값을 이용해서 범위내 위치정보를 알 수도 있다.
  • 추가적인 기능

    1. 엘라스틱서치가 검색엔진이면서 저장소의 기능을 함
    2. kibana를 통해 시각화가능
  • 앱서치 엔진

    1. 사용시 앱서치 엔진을 따로 띄워야한다.
    2. 앱서치 안에서 앱서치 프로세스를 띄우면 연동, API로 접근하여 이용가능하다.
    3. 하나의 엔진이 하나의 데이터셋을 다룬다.
  • 대략적인 환경 구축

    1. 파이썬 클라이언트 설치
      (python -m pip install elastic-app-search)
    2. App Search 엔진의 엔드포인트 지정
      1. requests 와 pyjwt의 설치
    3. client 객체 만들어야함 (클라우드의 경우 endpoint와 https 조건을 변경)
    4. 그 외 코드
      (https://[github.com/elastic/app-search-python](http://github.com/elastic/app-search-python%EC%97%90%EC%84%9C))
  • Elastic 클라우드

    1. 로그인 (14일 무료사용가능)
    2. create deployment, aws, 최신버전의 elastic 사용
    3. elastic enterprise search 엔진 사용 후 배포
    4. username 과 password 한번만 확인 가능하니 저장 필수
  • Appsearch 엔진

    1. 엔진 언어를 한국어로 해도 형태소 분석이 한국어로 진행되진 않으니 영어로 해도 상관없음
    2. access의 credentials를 통해서 API의 엔드포인트, 키값 확인가능
    3. 엔드포인트에서 https 파트는 제외하여 작성해주자
    4. read,write를 위해서 private 키를 이용
    5. engine_name 은 동일하게 지정
    6. json 형식으로 데이터 적재
      (single 과 multiple 의 코드 형식이 다르므로 고려해서 작성)
    7. Query Tester로 검색어에 따른 score 표시 (높은순서로 나타남)
    8. 존재하는 엔진 리스트 확인가능
    9. 검색어에 따른 score와 다른 값들 확인가능
  • Appsearch를 통한 필드 가중치 부여

    1. Schema 탭을 통해서 필요한 필드 형변환
    2. relevance tuning을 통해서 가중치 부여
  • 동의어추가

    1. Synonyms 기능에서 특정 검색어에 대한 단어추가
    2. 특정 검색어를 검색했을 때 지정한 다른 단어도 같이 검색됨
  • promotion/exclude

    1. curation 에서 검색어 입력하여 값을 가져옴
    2. 프로모션 영역 or hide 영역으로 배치가능
    3. 프로모션 우선적으로 검색, hide는 나중에
  • Analytics

    1. 호출한 검색어를 계속 저장
    2. 저장된 데이터를 분석 가능
  • Reference UI

    1. 데이터를 통한 서비스를 시뮬레이션하는 기능
    2. Preview를 통해서 어느정도의 확인이 가능하다.
    3. Node.js 기반의 Zip 파일로 코드 추출이 가능하다.
profile
For DE, DA / There is no royal road to learning

0개의 댓글