Лёгкий полнотекстовый поисковый движок на Go, распространяемый одним бинарным файлом и предлагаемый как более простая альтернатива Elasticsearch для поиска в приложениях.
ankane/searchkick
Библиотека поиска для Ruby on Rails, которая добавляет полнотекстовый поиск в модели Active Record и Mongoid с помощью Elasticsearch или OpenSearch.
- Звёзды
- 6,720
- Форки
- 761
- Открытые issues
- 10
- Последний коммит
- 10 дней назад
Что это?
Searchkick — это gem для Ruby, который связывает модели Active Record и Mongoid с Elasticsearch или OpenSearch. Чтобы добавить полнотекстовый поиск, достаточно указать одну строку в модели. Библиотека обрабатывает основы слов, специальные символы, лишние пробелы, опечатки и пользовательские синонимы: например, по запросу «tomatoes» можно найти «tomato», а по «zuchini» — «zucchini».
Для запросов предусмотрен цепочечный интерфейс в стиле SQL: фильтры where, сортировка, пагинация, повышение релевантности, агрегации, подсветка, автодополнение, подсказки и геопоиск. Индексацию можно выполнять синхронно, асинхронно, через очередь на Redis или вручную. Переиндексацию можно выполнять параллельно и без простоя.
Searchkick поддерживает Elasticsearch 8 и 9, а также OpenSearch 2 и 3. Результаты поиска можно персонализировать для каждого пользователя и настраивать с помощью данных о конверсиях из Searchjoy.
Ключевые возможности
- 01Стемминг, устойчивость к опечаткам и пользовательские синонимы из коробки
- 02Цепочечные запросы в стиле SQL с where, order, limit и offset
- 03Автодополнение, подсказки «вы имели в виду» и подсветка
- 04Агрегации, повышение релевантности по полю, давности и расстоянию, а также персонализация результатов для каждого пользователя
- 05Геопоиск и поиск по геоформам
- 06Переиндексация без простоя: в асинхронном режиме, через очередь и параллельно
Сценарии использования
- Добавление поиска товаров или контента в Rails-приложение для электронной коммерции или каталог
- Создание автодополнения для большой модели на Active Record или Mongoid
- Фасетная фильтрация результатов поиска с помощью агрегаций
- Поиск по местоположению для ресторанов или магазинов
Быстрый старт
- 1
Установите и запустите OpenSearch с помощью Homebrew
brew install opensearch && brew services start opensearch - 2
Добавьте searchkick и клиент Elasticsearch или OpenSearch в Gemfile
gem "searchkick" - 3
Добавьте searchkick в модель и проиндексируйте её данные
Product.reindex
Что важно знать
- Необходим работающий сервер Elasticsearch или OpenSearch.
- Для Elasticsearch 7 и OpenSearch 1 требуется предыдущая версия 5.5.2.
Темы
Частые вопросы
- Что такое searchkick?
- Библиотека поиска для Ruby on Rails, которая добавляет полнотекстовый поиск в модели Active Record и Mongoid с помощью Elasticsearch или OpenSearch. Searchkick — это gem для Ruby, который связывает модели Active Record и Mongoid с Elasticsearch или OpenSearch. Чтобы добавить полнотекстовый поиск, достаточно указать одну строку в модели. Библиотека обрабатывает основы слов, специальные символы, лишние пробелы, опечатки и пользовательские синонимы: например, по запросу «tomatoes» можно найти «tomato», а по «zuchini» — «zucchini».
- searchkick можно использовать бесплатно? Какая у него лицензия?
- searchkick распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- searchkick всё ещё поддерживается?
- Активно поддерживается. Последний коммит в searchkick — 27 окт. 2026 г..
- Для чего можно использовать searchkick?
- Добавление поиска товаров или контента в Rails-приложение для электронной коммерции или каталог Создание автодополнения для большой модели на Active Record или Mongoid Фасетная фильтрация результатов поиска с помощью агрегаций Поиск по местоположению для ресторанов или магазинов
- Как установить searchkick?
- Установите и запустите OpenSearch с помощью Homebrew: brew install opensearch && brew services start opensearch Добавьте searchkick и клиент Elasticsearch или OpenSearch в Gemfile: gem "searchkick" Добавьте searchkick в модель и проиндексируйте её данные: Product.reindex
- Где скачать searchkick?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ankane/searchkick
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Автономный корпоративный поисковый сервер на базе OpenSearch с краулерами для веб-сайтов, файловых систем и хранилищ данных.
Открытый фреймворк электронной коммерции на Ruby on Rails для разработчиков, которые хотят создать собственный интернет-магазин и полностью контролировать его.
CLI-инструмент для импорта и экспорта индексов, маппингов, алиасов и шаблонов Elasticsearch и OpenSearch из файлов, S3 и других кластеров.
Универсальная библиотека пагинации для Ruby: поддерживает пагинацию по смещению, ключам, поиску и календарю в Rails, Sinatra и других фреймворках.
GitLab Community Edition для самостоятельного размещения: веб-приложение на Ruby on Rails для управления Git-репозиториями, ревью кода, CI/CD и задачами.