본문 바로가기
Data/Meilisearch

[Search Engine] Meilisearch

by dev_ss 2022. 11. 1.

출처 : https://github.com/meilisearch

 

1. Meilisearch란?

 

Rust 기반으로 제작된 API 기반 오픈소스 검색엔진이다.

https://www.meilisearch.com/

 

프랑스 파리에서 설립된 스타트업 Meili에서 제작한 검색엔진이며 현재까지 1,500만 달러의 투자금을 유치하며 지속적으로 개발 중이다.

 

 


2. Support Language

  • 공백을 기준으로 단어를 나누는 언어 (ex. English) - Default
  • 중국어
  • 일본어
  • 히브리어
  • 태국어
  • 한국어 (Default -> 형태소 분석 적용 진행 중  - 2022.11.01)

 

※ 한국어는 현재 공백을 기준으로 단어를 토큰화하여 검색

 (ex . 오늘은 월요일 입니다 -> [오늘은] [월요일] [입니다] | 오늘은월요일입니다 -> [오늘은월요일입니다])

 

※ 형태소 분석 : 더 이상 분해될 수 없는 최소한의 의미 단위인 형태소를 자연어의 제약 조건 및 문법 규칙에 맞춰 분석

 (ex. 오늘은월요일입니다 -> [오늘] / [은] / [월요일] / [입니다])

 


3. Features

  1. 검색 속도가 매우 빠르다. (일반적으로 검색 결과 속도가 50ms 미만의 성능을 보여줌)
  2. 입력과 동시에 검색 (Prefix-search를 기반으로 검색 데이터에 타자를 칠 때마다 결과 값이 반환)
  3. 오타 허용 (자체 Setting에서 추가 설정 가능)
  4. 검색된 전체 문서 반환 (검색에 반환될 문서 수 설정 가능)
  5. 사용자 정의를 통한 검색 고도화
  6. RESTful API
  7. Search Preview (Front-end 구현 없이 자체 API에서 Document 추가 및 검색 가능)

▼ 사용자 정의를 통한 검색 고도화에는 다음과 같은 기능이 있다.


 - Custom ranking : Ranking-rule을 지정하여 원하는 결괏값을 우선 시 반환되도록 설정할 수 있다
 - Stop words : 불용어 처리를 API 내에서 적용시킬 수 있다.
 - Highlighting : 매칭된 검색 결과를 하이라이트 표시하여 시각화 (Matching 되는 속성 값을 설정 가능)
 - Synonyms : 동의어 또는 유의어를 직접 지정할 수 있다.


※ 불용어 처리 : 형태소 분석을 마친 결과 값 중 검색 용어로 사용되지 않는 단어, 관사, 전치사, 조사, 접속사 등이 있다.

 (ex. 은 / 는 / 이 / 가 / 에 / 으로 ~ 등)

 


4. Basic

 4-1) 설치 (cURL / Homebrew)

 

cURL Install & Launch :

# Install meilisearch
$ curl -L https://install.meilisearch.com | sh

# Launch Meilisearch
$ ./meilisearch

 

Homebrew Install & Launch :

# Update brew and install Meilisearch
$ brew update && brew install meilisearch

# Launch Meilisearch
$ meilisearch

 

설치를 마친 후 실행한다면 다음과 같은 결과가 Terminal에서 출력된다면 정상적으로 실행이 된 것이다.

 

Result :

 

브라우저에서 위의 포트를 통하여 접속할 수 있고 다음과 같은 화면을 볼 수 있다.

Meilisearch Launch

환경 변수 설정을 통하여 HTTP의 주소 및 포트, Master-key, db-path 등의 설정이 가능하다.

# Set HTTP address & port
$ export MEILI_HTTP_ADDR='address:port'

# Set Master Key
$ export MEILI_MASTER_KEY='masterkey'

# Set DB Path
$ export MEILI_DB_PATH='path'

 


그 외의 Index 및 Document 설정/추가/삭제/수정 등의 기능들은 홈페이지 Reference에서 알아볼 수 있다.

https://docs.meilisearch.com/reference/api/overview.html

 

반응형