Repolode
ankane

ankane/searchkick

Biblioteca de búsqueda para Ruby on Rails que añade búsqueda de texto completo inteligente a modelos de Active Record y Mongoid mediante Elasticsearch u OpenSearch.

Estrellas
6,720
Forks
761
Issues abiertos
10
Último commit
hace 9 días

¿Qué es?

Searchkick es una gema de Ruby que conecta modelos de Active Record y Mongoid con Elasticsearch u OpenSearch, y permite añadir búsqueda de texto completo con una sola línea en un modelo. Gestiona la derivación de palabras, los caracteres especiales, los espacios en blanco adicionales, los errores ortográficos y los sinónimos personalizados, por lo que una búsqueda de «tomatoes» puede encontrar «tomato» y una de «zuchini» puede encontrar «zucchini».

Las consultas usan una interfaz encadenable, similar a SQL, que incluye filtros where, ordenamiento, paginación, boosting, agregaciones, resaltado, autocompletado, sugerencias y búsquedas geoespaciales. La indexación puede ejecutarse en línea, de forma asíncrona, mediante una cola respaldada por Redis o manualmente; además, es posible volver a indexar en paralelo sin tiempo de inactividad.

Searchkick es compatible con Elasticsearch 8 y 9, y con OpenSearch 2 y 3. Las búsquedas se pueden personalizar por usuario y ajustar con datos de conversión de Searchjoy.

Funciones clave

  • 01Derivación de palabras, tolerancia a errores ortográficos y sinónimos personalizados desde el primer momento
  • 02Encadenamiento de consultas similar a SQL con where, order, limit y offset
  • 03Autocompletado, sugerencias de «¿quisiste decir?» y resaltado
  • 04Agregaciones, boosting por campo, antigüedad y distancia, y resultados por usuario
  • 05Búsqueda geoespacial y de formas geográficas
  • 06Reindexación sin tiempo de inactividad, con modos asíncrono, en cola y paralelo

Casos de uso

  • Añadir búsqueda de productos o contenido a una aplicación de comercio electrónico o catálogo con Rails
  • Crear autocompletado para un modelo grande con Active Record o Mongoid
  • Ofrecer filtrado por facetas mediante agregaciones en los resultados de búsqueda
  • Realizar búsquedas basadas en la ubicación para restaurantes o tiendas

Inicio rápido

  1. 1

    Instala e inicia OpenSearch con Homebrew

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

    Añade searchkick y un cliente de Elasticsearch u OpenSearch a tu Gemfile

    gem "searchkick"
  3. 3

    Añade searchkick a un modelo e indexa sus datos

    Product.reindex

Antes de usarlo

  • Se necesita un servidor de Elasticsearch u OpenSearch en ejecución.
  • Elasticsearch 7 y OpenSearch 1 requieren la versión anterior 5.5.2.

Temas

Preguntas frecuentes

¿Qué es searchkick?
Biblioteca de búsqueda para Ruby on Rails que añade búsqueda de texto completo inteligente a modelos de Active Record y Mongoid mediante Elasticsearch u OpenSearch. Searchkick es una gema de Ruby que conecta modelos de Active Record y Mongoid con Elasticsearch u OpenSearch, y permite añadir búsqueda de texto completo con una sola línea en un modelo. Gestiona la derivación de palabras, los caracteres especiales, los espacios en blanco adicionales, los errores ortográficos y los sinónimos personalizados, por lo que una búsqueda de «tomatoes» puede encontrar «tomato» y una de «zuchini» puede encontrar «zucchini».
¿searchkick es gratuito? ¿Qué licencia tiene?
searchkick es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿searchkick sigue mantenido?
Mantenimiento activo. El último commit de searchkick fue el 27 oct 2026.
¿Para qué puedo usar searchkick?
Añadir búsqueda de productos o contenido a una aplicación de comercio electrónico o catálogo con Rails Crear autocompletado para un modelo grande con Active Record o Mongoid Ofrecer filtrado por facetas mediante agregaciones en los resultados de búsqueda Realizar búsquedas basadas en la ubicación para restaurantes o tiendas
¿Cómo se instala searchkick?
Instala e inicia OpenSearch con Homebrew: brew install opensearch && brew services start opensearch Añade searchkick y un cliente de Elasticsearch u OpenSearch a tu Gemfile: gem "searchkick" Añade searchkick a un modelo e indexa sus datos: Product.reindex
¿Dónde consigo searchkick?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ankane/searchkick

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Biblioteca de paginación para Ruby puro, independiente del framework, con paginadores por offset, keyset, búsqueda y calendario para Rails, Sinatra y otros frameworks.

5 mil447RubyMITBien mantenidoActualizado anteayer