Lightsearch — встраиваемая библиотека для создания полнотекстового поиска по сайту.
Lightsearch имеет две основные функции:
- индексация, переиндексация и удаление материала
- поиск по запросу.
Для работы необходим интерпретатор PHP версии 7.0 и выше, а также следующие расширения PHP: PDO, PDO-SQLite, sqlite3, mbstring.
Установка с помощью Composer:
composer require win0err/lightsearch. При необходимости, можно обойтись и без использования Composer. Для этого в PHP-файлах вручную подключаем файлы с классами из директории src/, в соответствии со стандартом наименования PSR-4.
После добавления библиотеки, подключаем файл автозагрузки Composer. Для этого в PHP-файлах, где будет встраиваться библиотека, добавляем:
require './vendor/autoload.php';
Для указания настроек создаём объект, в котором укажем какое хранилище использовать и какой морфологический анализатор.
По умолчанию доступно только хранилище в СУБД SQLite и морфологический анализатор — стеммер Портера для русского языка. Библиотека представляет интерфейс для создания других типов хранилищ и морфологических анализаторов. Пример инициализации настроек:
<?php
use win0err\LightSearch\Entity\Config;
use win0err\LightSearch\MorphologyProcessor\Stemmer\PorterRussian;
use win0err\LightSearch\Storage\SQLite;
$config = new Config();
// Хранилище — SQLite
$config->setStorage( new SQLite() );
// Морфологический анализатор — Стеммер Портера для русского языка
$config->setMorphologyProcessor( new PorterRussian() ); Далее: Индексирование