Go로 작성된 경량 단일 바이너리 전문 검색 엔진으로, 앱 검색에 Elasticsearch보다 간단한 대안을 제공합니다.
ankane/searchkick
Elasticsearch 또는 OpenSearch를 통해 Active Record와 Mongoid 모델에 지능형 전문 검색을 추가하는 Ruby on Rails 검색 라이브러리입니다.
- 스타
- 6,720
- 포크
- 761
- 열린 이슈
- 10
- 마지막 커밋
- 11일 전
어떤 프로젝트인가요?
Searchkick은 Active Record 및 Mongoid 모델을 Elasticsearch 또는 OpenSearch에 연결하는 Ruby gem으로, 모델에 한 줄만 선언하면 전문 검색을 추가할 수 있습니다. 어간 추출, 특수 문자, 불필요한 공백, 오타, 사용자 지정 동의어를 처리하므로 "tomatoes"를 검색하면 "tomato"가, "zuchini"를 검색하면 "zucchini"가 일치할 수 있습니다.
쿼리는 where 필터, 정렬, 페이지네이션, 부스팅, 집계, 하이라이팅, 자동 완성, 제안, 지리 공간 검색을 지원하는 체이닝 방식의 SQL 유사 인터페이스를 사용합니다. 인덱싱은 인라인, 비동기, Redis 기반 큐 또는 수동 방식으로 실행할 수 있으며, 다운타임 없이 병렬로 재인덱싱할 수 있습니다.
Searchkick은 Elasticsearch 8 및 9와 OpenSearch 2 및 3을 지원합니다. 사용자별로 검색 결과를 개인화할 수 있으며, Searchjoy의 전환 데이터를 활용해 검색을 조정할 수 있습니다.
핵심 기능
- 01기본 제공되는 어간 추출, 오타 허용, 사용자 지정 동의어
- 02where, order, limit, offset을 지원하는 SQL 유사 쿼리 체이닝
- 03자동 완성, "혹시 다음을 찾으셨나요" 제안, 하이라이팅
- 04집계, 필드·최신성·거리 기반 부스팅, 사용자별 검색 결과
- 05지리 공간 및 지리 형상 검색
- 06다운타임 없는 재인덱싱과 비동기·큐·병렬 처리 모드
활용 사례
- Rails 이커머스 또는 카탈로그 애플리케이션에 제품이나 콘텐츠 검색 추가
- Active Record 또는 Mongoid를 사용하는 대규모 모델에 자동 완성 기능 구축
- 검색 결과에 집계를 활용한 패싯 필터 제공
- 식당이나 매장을 위한 위치 기반 검색 구현
빠른 시작
- 1
Homebrew로 OpenSearch를 설치하고 실행합니다
brew install opensearch && brew services start opensearch - 2
Gemfile에 searchkick와 Elasticsearch 또는 OpenSearch 클라이언트를 추가합니다
gem "searchkick" - 3
모델에 searchkick를 추가하고 데이터를 인덱싱합니다
Product.reindex
사용 전 알아둘 점
- 실행 중인 Elasticsearch 또는 OpenSearch 서버가 필요합니다.
- Elasticsearch 7 및 OpenSearch 1에는 이전 버전인 5.5.2가 필요합니다.
토픽
자주 묻는 질문
- searchkick은(는) 무엇인가요?
- Elasticsearch 또는 OpenSearch를 통해 Active Record와 Mongoid 모델에 지능형 전문 검색을 추가하는 Ruby on Rails 검색 라이브러리입니다. Searchkick은 Active Record 및 Mongoid 모델을 Elasticsearch 또는 OpenSearch에 연결하는 Ruby gem으로, 모델에 한 줄만 선언하면 전문 검색을 추가할 수 있습니다. 어간 추출, 특수 문자, 불필요한 공백, 오타, 사용자 지정 동의어를 처리하므로 "tomatoes"를 검색하면 "tomato"가, "zuchini"를 검색하면 "zucchini"가 일치할 수 있습니다.
- searchkick은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- searchkick은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- searchkick은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. searchkick의 마지막 커밋은 2026년 10월 27일입니다.
- searchkick은(는) 어디에 사용할 수 있나요?
- Rails 이커머스 또는 카탈로그 애플리케이션에 제품이나 콘텐츠 검색 추가 Active Record 또는 Mongoid를 사용하는 대규모 모델에 자동 완성 기능 구축 검색 결과에 집계를 활용한 패싯 필터 제공 식당이나 매장을 위한 위치 기반 검색 구현
- searchkick는 어떻게 설치하나요?
- Homebrew로 OpenSearch를 설치하고 실행합니다: brew install opensearch && brew services start opensearch Gemfile에 searchkick와 Elasticsearch 또는 OpenSearch 클라이언트를 추가합니다: gem "searchkick" 모델에 searchkick를 추가하고 데이터를 인덱싱합니다: Product.reindex
- searchkick은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ankane/searchkick
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
OpenSearch 기반의 자체 호스팅 엔터프라이즈 및 사이트 검색 서버로, 웹·파일·데이터 저장소를 크롤링합니다.
온라인 스토어를 직접 구축하고 완전히 제어하려는 개발자를 위한 Ruby on Rails 기반 오픈소스 eCommerce 프레임워크입니다.
Elasticsearch 및 OpenSearch 인덱스, 매핑, 별칭, 템플릿을 파일, S3, 다른 클러스터와 주고받을 수 있는 CLI 도구입니다.
GitLab Community Edition은 Git 저장소, 코드 리뷰, CI/CD, 이슈 추적을 관리하는 Ruby on Rails 기반의 자체 호스팅 웹 앱입니다.