shopexpress/sphinxsearch-crud-api
Composer 安装命令:
composer require shopexpress/sphinxsearch-crud-api
包简介
ShopExpress SphinxSearchClient API for pdo-crud service
README 文档
README
Create client
use ShopExpress\SphinxSearchClient\Entity\ShopsEntityFactory;
use ShopExpress\SphinxSearchClient\SphinxClient;
use ShopExpress\SphinxSearchClient\SphinxClientConfiguration;
$clientConfiguration = (new SphinxClientConfiguration())
->setBaseUrl('http://search.ru/')
->setApiToken('123')
->setSiteId(121)
->setIndexName('shop_id');
$shopsClient = new SphinxClient($clientConfiguration, new ShopsEntityFactory());
Create Entity
use ShopExpress\SphinxSearchClient\Entity\ShopsEntity;
use ShopExpress\SphinxSearchClient\Entity\ShopsEntityFactory;
// №1
$entity_1 = (new ShopsEntityFactory())
->create([
'id' => 1,
'oid' => 1,
'name' => 'test name',
'value' => 'test value',
]);
$shopsClient->createEntity($entity_1);
// №2
/* @var $entity_2 ShopsEntity */
$entity_2 = $shopsClient->createEntity((new ShopsEntity)
->setProp('id', 2)
->setProp('oid', 1)
->setProp('name', 'test name')
->setProp('value', 'test value'));
Update Entity
use ShopExpress\SphinxSearchClient\Entity\ShopsEntity;
use ShopExpress\SphinxSearchClient\Entity\ShopsEntityFactory;
// №1
$entity_1 = (new ShopsEntityFactory())
->modify($entity_1, ['oid' => 3]);
$shopsClient->updateEntity($entity_1);
// №2
/* @var $entity_2 ShopsEntity */
$entity_2 = $shopsClient->updateEntity($entity_2
->setProp('oid', 3));
Delete Entity
use ShopExpress\SphinxSearchClient\Entity\ShopsEntity;
// №1
$shopsClient->removeEntity($entity_1);
// №2
$shopsClient->removeEntity((new ShopsEntity)
->setProp('id', 1));
Delete Entity by attributes
$shopsClient->removeByAttributes(['oid' => 3]);
Match Entity
use ShopExpress\SphinxSearchClient\Entity\ShopsEntity;
/* @var $entities ShopsEntity[] */
$entities = $shopsClient->matchEntity('Ёжики', [
'attributes' => [
'subtitle'
],
'values' => [
'Пыжики'
],
'operators' => [
'=' // '=', '<', '>', '<=', '>=', '!='
]
]);
Match Entity By Query
use ShopExpress\SphinxSearchClient\Entity\ShopsEntity;
use ShopExpress\SphinxSearchClient\SphinxQueryBuilder;
$query = new SphinxQueryBuilder();
$query = $query->select('*')
->from($shopsClient->getConfiguration()->getIndexName())
->match('*', 'светодиодное')
->where('oid', '=', 5526);
/* @var $entities ShopsEntity[] */
$entities = $shopsClient->execute($query);
Find Entity
use ShopExpress\SphinxSearchClient\Entity\ShopsEntity;
/* @var $entities ShopsEntity[] */
$entities = $shopsClient->findEntity(['oid' => 3]);
Get Entity
use ShopExpress\SphinxSearchClient\Entity\ShopsEntity;
/* @var $entities ShopsEntity[] */
$entities = $shopsClient->getEntity(1);
统计信息
- 总下载量: 3.14k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-12-04