vcaesar/riot

Go Open Source, Distributed, Simple and efficient Search Engine

해결하는 문제

Riot은 Go로 작성된 빠르고 현대적인 텍스트 인덱싱 및 검색 엔진입니다. 별도의 외부 검색 서버 없이도 Go 애플리케이션에 전체 텍스트 검색 기능을 통합할 수 있는 방법을 제공합니다.

작동 방식

개발자가 다양한 필드 유형(텍스트, 숫자, 날짜, 불리언, IP, 지리 좌표, 벡터)을 포함하는 문서의 인덱스를 생성할 수 있도록 하는 라이브러리로 작동합니다. 용어, 구문, 일치, 접두사, 정규식, 퍼지 검색을 포함한 광범위한 쿼리 유형을 지원하며, 복잡한 불리언 논리 및 범위 쿼리도 가능합니다. CJK(중국어, 일본어, 한국어) 텍스트의 경우, gse 토크나이저를 통합한 래퍼를 제공하여 언어별 인덱싱을 최적화합니다.

대상 사용자

애플리케이션 프로세스 내에서 문서 인덱싱 및 쿼리를 수행하기 위한 고성능 임베디드 검색 엔진이 필요한 Go 개발자.

주요 특징

  • 다양한 필드 지원: 텍스트, 숫자, 날짜, 불리언, IP, 지리 좌표 및 벡터 필드를 처리합니다.
  • 고급 쿼리: KNN, 퍼지 검색, 정규식 및 지리적 경계 상자를 지원합니다.
  • BM25 유사도: 점수 산정 및 유사도 계산에 BM25를 사용하며, 플러그인 가능한 인터페이스를 제공합니다.
  • 내장 집계: 버킷(용어, 숫자/날짜 범위) 및 메트릭(최솟값, 최댓값, 개수, 합계, 평균, 카디널리티 추정, 분위수 근사)이 포함되어 있습니다.
  • CJK 지원: gse 패키지를 통해 중국어 및 일본어 텍스트에 대한 전용 지원을 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트