Open-source поисковая база данных с полнотекстовым, векторным и гибридным поиском, индексацией в реальном времени и SQL — альтернатива Elasticsearch.
quickwit-oss/tantivy
Библиотека полнотекстового поиска на Rust, вдохновлённая Apache Lucene, для встраивания поиска в приложения.
Open source альтернатива:Elasticsearch
Apache Solr
- Звёзды
- 16,247
- Форки
- 1,017
- Открытые issues
- 484
- Последний коммит
- 23 часа назад
Что это?
Tantivy — crate на Rust для добавления полнотекстового поиска в собственное ПО. Это не отдельный поисковый сервер: разработчики используют API библиотеки, чтобы задавать схемы, индексировать документы и выполнять запросы. По устройству Tantivy близок к Apache Lucene и использует ранжирование BM25, как и Lucene.
В библиотеке есть основные компоненты для поиска: настраиваемые токенизаторы со стеммингом для 17 языков, использующих латиницу, поиск по фразам и диапазонам, естественный язык запросов с операторами AND/OR и фасетный поиск. Поддерживаются текстовые поля, целые числа, числа с плавающей точкой, даты, IP-адреса, булевы значения и JSON; fast fields работают по аналогии с doc values в Lucene. Документы можно хранить без сжатия или с использованием LZ4 и Zstd. Коллектор агрегаций предоставляет гистограммы, бакеты для диапазонов и базовую статистику.
Tantivy поддерживает инкрементальную и многопоточную индексацию и запускается менее чем за 10 мс, что удобно для инструментов командной строки. Для токенизации китайского и японского языков проект использует сторонние crate токенизаторов. Библиотека работает на стабильной версии Rust в Linux, macOS и Windows.
Ключевые возможности
- 01Ранжирование BM25, как в Lucene
- 02Настраиваемые токенизаторы со стеммингом для 17 языков, использующих латиницу
- 03Запросы по фразам и диапазонам, а также запросы на естественном языке с логическими операторами
- 04Инкрементальная и многопоточная индексация
- 05Fast fields, фасетный поиск и агрегации
- 06Хранилище документов со сжатием LZ4 или Zstd либо без сжатия
Сценарии использования
- Добавление полнотекстового поиска в приложение на Rust без отдельного сервера
- Создание собственной поисковой утилиты командной строки с быстрым запуском
- Индексация архивов электронной почты или сообщений для локального поиска
- Встраивание поискового движка в сервис, которому нужны запросы в стиле Lucene
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/quickwit-oss/tantivy.git - 2
Перейдите в каталог проекта
cd tantivy - 3
Запустите тесты с помощью Cargo (stable Rust)
cargo test
Что важно знать
- Это библиотека на Rust, а не готовый к запуску поисковый сервер, поэтому вам нужно самостоятельно создать на её основе поисковое приложение.
- Распределённый поиск не входит в область применения; для этого используйте Quickwit.
- Документы неизменяемы, поэтому для редактирования их нужно удалить и проиндексировать заново.
- Токенизация китайского и японского языков зависит от сторонних crate.
Темы
Частые вопросы
- Что такое tantivy?
- Библиотека полнотекстового поиска на Rust, вдохновлённая Apache Lucene, для встраивания поиска в приложения. Tantivy — crate на Rust для добавления полнотекстового поиска в собственное ПО. Это не отдельный поисковый сервер: разработчики используют API библиотеки, чтобы задавать схемы, индексировать документы и выполнять запросы. По устройству Tantivy близок к Apache Lucene и использует ранжирование BM25, как и Lucene.
- tantivy можно использовать бесплатно? Какая у него лицензия?
- tantivy распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- tantivy всё ещё поддерживается?
- Активно поддерживается. Последний коммит в tantivy — 21 окт. 2026 г..
- Для чего можно использовать tantivy?
- Добавление полнотекстового поиска в приложение на Rust без отдельного сервера Создание собственной поисковой утилиты командной строки с быстрым запуском Индексация архивов электронной почты или сообщений для локального поиска Встраивание поискового движка в сервис, которому нужны запросы в стиле Lucene
- Как установить tantivy?
- Клонируйте репозиторий: git clone https://github.com/quickwit-oss/tantivy.git Перейдите в каталог проекта: cd tantivy Запустите тесты с помощью Cargo (stable Rust): cargo test
- Где скачать tantivy?
- Исходный код и инструкции по установке — на GitHub: https://github.com/quickwit-oss/tantivy
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Лёгкий полнотекстовый поисковый движок на Go, распространяемый одним бинарным файлом и предлагаемый как более простая альтернатива Elasticsearch для поиска в приложениях.
Высокопроизводительная полнофункциональная библиотека полнотекстового поиска на Java — основа для создания поисковых приложений.
Модуль Redis, добавляющий полнотекстовый поиск, вторичные индексы, поиск по векторному сходству и агрегирующие запросы.
Apache Solr — поисковая платформа с открытым исходным кодом на базе Apache Lucene для полнотекстового, векторного и геопространственного поиска.
Расширение для Postgres, которое добавляет в существующую базу данных полнотекстовый и векторный поиск, оценку BM25 и агрегации.