Repolode
teamtnt

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. 1

    Установите библиотеку с помощью Composer

    composer require teamtnt/tntsearch
  2. 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 обновляется ежедневно.

Похожие проекты

Typesense — поисковый движок с открытым исходным кодом, работающий в памяти: он поддерживает поиск с учётом опечаток, фасетный, географический и векторный поиск и предлагает более простой вариант, чем Algolia и Elasticsearch.

27,1 тыс.+34 за неделю1 тыс.C++GPL-3.0Обновлён вчера