motorway / searchengine
dev-master
2016-08-28 12:29 UTC
Requires
- php: >=5.3.0
- doctrine/dbal: ^2.5
- piwik/cache: ^0.2.8
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2025-01-13 15:10:10 UTC
README
Модуль предоставляет единый интерфейс для работы с разлными поисковыми машинами из под PHP. На данный момент реализован только интерфейс для доступа к поисковой машине Sphinx.
Установка
Установка производится через composer
$ composer require motorway/searchengine
Использование
Инициализация
// инициализация с конфигом по указанному пути $usersSearch = \Motorway\SearchEngine\Index::getInstance('users', '/path/to/users-config.php'); // Если вторым параметром не передать путь до файла конфигурации он (файл конфига) будет искаться по дефолтному пути // будет загружен конфиг по адресу /vendor/motorway/searchengine/config/users.php $usersSearch = \Motorway\SearchEngine\Index::getInstance('users'); // Для переопределения дефолтного пути конфигов используйте \Motorway\SearchEngine\Index::configSavePath('/new/path/to/configs/'); // будет загружен конфиг по адресу /new/path/to/configs/users.php $usersSearch = \Motorway\SearchEngine\Index::getInstance('users');
ORM
Для работы с поисковым индексом определен единый интерфейс ORM, который позволяет добавлять/изменять/удалять данный из индекса. Пользовательский код необходимо будет доработать таким образом, чтобы в момент изменения данных были вызваны соответсвующие методы orm
// например добавление/изменение данных function createOrUpdateUser($data) { // ... save user data code $entity = \Motorway\SearchEngine\Index::getInstance('users')->orm()->entity(); $entity->id = $userId; $entity->fieldOne = 'aaa'; $entity->fieldTwo = 'aaa'; $entity->save(); } function deleteUser($userId) { // ... delete user code $entity = \Motorway\SearchEngine\Index::getInstance('users')->orm()->entity(); $entity->id = $userId; $entity->delete(); }