Repolode
ankane

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. 1

    Homebrew로 OpenSearch를 설치하고 실행합니다

    brew install opensearch && brew services start opensearch
  2. 2

    Gemfile에 searchkick와 Elasticsearch 또는 OpenSearch 클라이언트를 추가합니다

    gem "searchkick"
  3. 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 통계는 매일 갱신됩니다.

관련 프로젝트

Rails, Sinatra 등 다양한 프레임워크에서 offset, keyset, 검색 및 달력 페이지네이션을 지원하는 순수 Ruby용 프레임워크 독립형 라이브러리입니다.

5천446RubyMIT활발히 관리됨업데이트 그저께