Repolode
ankane

ankane/searchkick

Biblioteca de busca para Ruby on Rails que adiciona busca inteligente de texto completo a modelos do Active Record e Mongoid via Elasticsearch ou OpenSearch.

Estrelas
6,720
Forks
761
Issues abertas
10
Último commit
há 11 dias

O que é?

Searchkick é uma gem para Ruby que conecta modelos do Active Record e Mongoid ao Elasticsearch ou OpenSearch, permitindo adicionar busca de texto completo com uma única linha no modelo. Ela lida com stemming, caracteres especiais, espaços em branco extras, erros de digitação e sinônimos personalizados. Assim, uma busca por "tomatoes" pode encontrar "tomato", e "zuchini" pode encontrar "zucchini".

As consultas usam uma interface encadeável, parecida com SQL, com filtros `where`, ordenação, paginação, boosting, agregações, destaque de resultados, autocomplete, sugestões e buscas geoespaciais. A indexação pode ser executada em linha, de forma assíncrona, por uma fila baseada em Redis ou manualmente. Também é possível reindexar em paralelo sem indisponibilidade.

Searchkick oferece suporte ao Elasticsearch 8 e 9 e ao OpenSearch 2 e 3. As buscas podem ser personalizadas para cada usuário e ajustadas com dados de conversão do Searchjoy.

Recursos principais

  • 01Stemming, tolerância a erros de digitação e sinônimos personalizados integrados
  • 02Encadeamento de consultas parecido com SQL, com `where`, `order`, `limit` e `offset`
  • 03Autocomplete, sugestões de "você quis dizer" e destaque de resultados
  • 04Agregações, boosting por campo, recência e distância, e resultados personalizados por usuário
  • 05Busca geoespacial e por formas geográficas
  • 06Reindexação sem indisponibilidade, com modos assíncrono, em fila e paralelo

Casos de uso

  • Adicionar busca de produtos ou conteúdo a uma aplicação Rails de e-commerce ou catálogo
  • Criar autocomplete para um modelo grande com Active Record ou Mongoid
  • Oferecer filtros facetados com agregações nos resultados da busca
  • Implementar busca por localização para restaurantes ou lojas

Início rápido

  1. 1

    Instale e inicie o OpenSearch pelo Homebrew

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

    Adicione searchkick e um cliente de Elasticsearch ou OpenSearch ao seu Gemfile

    gem "searchkick"
  3. 3

    Adicione searchkick a um modelo e indexe os dados dele

    Product.reindex

Antes de usar

  • É necessário ter um servidor Elasticsearch ou OpenSearch em execução.
  • Elasticsearch 7 e OpenSearch 1 exigem a versão anterior 5.5.2.

Tópicos

Perguntas frequentes

O que é searchkick?
Biblioteca de busca para Ruby on Rails que adiciona busca inteligente de texto completo a modelos do Active Record e Mongoid via Elasticsearch ou OpenSearch. Searchkick é uma gem para Ruby que conecta modelos do Active Record e Mongoid ao Elasticsearch ou OpenSearch, permitindo adicionar busca de texto completo com uma única linha no modelo. Ela lida com stemming, caracteres especiais, espaços em branco extras, erros de digitação e sinônimos personalizados. Assim, uma busca por "tomatoes" pode encontrar "tomato", e "zuchini" pode encontrar "zucchini".
searchkick é gratuito? Qual é a licença?
searchkick é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
searchkick ainda é mantido?
Manutenção ativa. O último commit de searchkick foi em 27 de out. de 2026.
Para que posso usar searchkick?
Adicionar busca de produtos ou conteúdo a uma aplicação Rails de e-commerce ou catálogo Criar autocomplete para um modelo grande com Active Record ou Mongoid Oferecer filtros facetados com agregações nos resultados da busca Implementar busca por localização para restaurantes ou lojas
Como instalar searchkick?
Instale e inicie o OpenSearch pelo Homebrew: brew install opensearch && brew services start opensearch Adicione searchkick e um cliente de Elasticsearch ou OpenSearch ao seu Gemfile: gem "searchkick" Adicione searchkick a um modelo e indexe os dados dele: Product.reindex
Onde consigo searchkick?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ankane/searchkick

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Biblioteca de paginação independente de framework para Ruby puro, com paginadores por offset, keyset, busca e calendário para Rails, Sinatra e outros frameworks.

5 mil447RubyMITBem mantidoAtualizado anteontem