Драйвер Laravel Scout для полнотекстового поиска по Eloquent-моделям с помощью PHP-движка TNTSearch без отдельного поискового сервера.
teamtnt/tntsearch
Библиотека полнотекстового поиска для PHP: индексирует данные в SQLite, MySQL или Redis и возвращает ранжированные ID документов.
- Звёзды
- 3,201
- Форки
- 296
- Открытые issues
- 56
- Последний коммит
- 4 дня назад
Что это?
TNTSearch — библиотека для PHP, которая добавляет полнотекстовый поиск в приложение без отдельного поискового сервера. Укажите источник данных — например, базу SQLite, MySQL или PostgreSQL либо папку с текстовыми файлами, — создайте файл индекса и выполняйте по нему запросы. По умолчанию индексы хранятся в SQLite; также доступны движки MySQL и Redis. Индексы можно обновлять вызовами insert, update и delete без полной переиндексации.
Поиск поддерживает ранжирование по релевантности с помощью BM25 и TF-IDF, булевы запросы с AND, OR и NOT, нечёткое сопоставление с настраиваемым расстоянием редактирования и поиск по префиксу по мере ввода. Также есть стеммеры для нескольких языков, пользовательские токенизаторы, подсветка результатов и сниппеты, поиск ближайших точек по геоданным и простой текстовый классификатор.
Методы поиска возвращают ID документов и оценки, а не полные строки, поэтому приложение получает подходящие записи из собственной базы данных и сохраняет порядок результатов. Драйвер для Laravel Scout доступен в отдельном пакете.
Ключевые возможности
- 01Ранжирование по релевантности с помощью BM25 и TF-IDF
- 02Булев поиск с операторами AND, OR и NOT
- 03Нечёткое сопоставление с настраиваемыми расстоянием редактирования и длиной префикса
- 04Поиск по префиксу по мере ввода
- 05Хранение индексов в SQLite, MySQL или Redis с инкрементальными обновлениями
- 06Стеммеры для нескольких языков и пользовательские токенизаторы
Сценарии использования
- Добавление поиска по сайту или товарам в приложение на PHP или Laravel без отдельного поискового сервера
- Поиск по коллекции документов, хранящихся в виде текстовых файлов
- Поиск ближайших точек интереса по координатам
- Добавление простой классификации текста в PHP-проект
Быстрый старт
- 1
Установите библиотеку с помощью Composer
composer require teamtnt/tntsearch - 2
Настройте TNTSearch, создайте индекс на основе исходного запроса, выберите его и выполните поиск
Что важно знать
- Поиск возвращает идентификаторы документов и оценки, а не сами документы, поэтому строки нужно получить из собственной базы данных.
- Для движка по умолчанию требуется PHP 7.4 или новее и расширение pdo_sqlite.
В подборках
Темы
Частые вопросы
- Что такое tntsearch?
- Библиотека полнотекстового поиска для PHP: индексирует данные в SQLite, MySQL или Redis и возвращает ранжированные ID документов. TNTSearch — библиотека для PHP, которая добавляет полнотекстовый поиск в приложение без отдельного поискового сервера. Укажите источник данных — например, базу SQLite, MySQL или PostgreSQL либо папку с текстовыми файлами, — создайте файл индекса и выполняйте по нему запросы. По умолчанию индексы хранятся в SQLite; также доступны движки MySQL и Redis. Индексы можно обновлять вызовами insert, update и delete без полной переиндексации.
- tntsearch можно использовать бесплатно? Какая у него лицензия?
- tntsearch распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- tntsearch всё ещё поддерживается?
- Активно поддерживается. Последний коммит в tntsearch — 3 нояб. 2026 г..
- Для чего можно использовать tntsearch?
- Добавление поиска по сайту или товарам в приложение на PHP или Laravel без отдельного поискового сервера Поиск по коллекции документов, хранящихся в виде текстовых файлов Поиск ближайших точек интереса по координатам Добавление простой классификации текста в PHP-проект
- Как установить tntsearch?
- Установите библиотеку с помощью Composer: composer require teamtnt/tntsearch Настройте TNTSearch, создайте индекс на основе исходного запроса, выберите его и выполните поиск
- Где скачать tntsearch?
- Исходный код и инструкции по установке — на GitHub: https://github.com/teamtnt/tntsearch
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Модуль Redis, добавляющий полнотекстовый поиск, вторичные индексы, поиск по векторному сходству и агрегирующие запросы.
Typesense — поисковый движок с открытым исходным кодом, работающий в памяти: он поддерживает поиск с учётом опечаток, фасетный, географический и векторный поиск и предлагает более простой вариант, чем Algolia и Elasticsearch.
Библиотека полнотекстового поиска на Rust, вдохновлённая Apache Lucene, для встраивания поиска в приложения.
Open-source поисковая база данных с полнотекстовым, векторным и гибридным поиском, индексацией в реальном времени и SQL — альтернатива Elasticsearch.
Встраиваемая библиотека на Rust и мультитенантный сервер для лексического, векторного и гибридного поиска, а также MCP-сервер для AI-агентов.