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: 2024-09-23 13:26:11 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(); }