rulerz-php / solarium
Solarium 编译目标 for RulerZ
dev-master
2020-01-03 14:13 UTC
Requires
- php: >=7.1
- kphoen/rulerz: dev-master as 1.0.0
- solarium/solarium: ^4.0
Requires (Dev)
- ext-json: *
- behat/behat: ~3.0
- kphoen/rusty: dev-master
- liip/rmt: ^1.2
- phpunit/phpunit: ^7.1
- vlucas/phpdotenv: ~2.1
This package is auto-updated.
Last update: 2024-08-29 04:20:14 UTC
README
Solarium 编译目标 for RulerZ.
用法
solarium/solarium 是 RulerZ 支持的目标之一。它允许引擎查询 Solr 服务器。
本食谱将向您展示如何使用 solarium/solarium 和 RulerZ 获取对象。
以下是您需要执行的操作摘要
配置 solarium
此主题将不会在此处直接处理。您可以遵循 官方文档 或使用您所使用的框架推荐的 bundle/module。
配置 RulerZ
一旦安装并配置了 solarium/solarium,我们就可以使用 RulerZ 引擎
$rulerz = new RulerZ( $compiler, [ new \RulerZ\Solarium\Target\Solarium(), // this line is Solarium-specific // other compilation targets... ] );
与 Solarium 相关的唯一配置是将 Solarium
目标添加到已知的编译目标列表中。
过滤您的目标
现在,solarium/solarium 和 RulerZ 都已准备就绪,您可以使用它们来检索数据。
我们之前注入到 RulerZ 引擎中的 Solarium
实例只知道如何使用 Solarium\Client
对象,所以第一步是创建一个
$config = [ 'endpoint' => [ 'localhost' => [ 'host' => '127.0.0.1', 'port' => 8983, 'path' => '/solr/', ] ] ]; $client = new \Solarium\Client($config);
像往常一样,我们用我们的目标(\Solarium\Client
对象)和我们的规则调用 RulerZ。RulerZ 将为给定的目标构建正确的执行器,并使用它来过滤数据,或者在我们的情况下从 Solr 中检索数据。
$rule = 'gender = :gender and points > :points'; $parameters = [ 'points' => 30, 'gender' => 'M', ]; var_dump( iterator_to_array($rulerz->filter($client, $rule, $parameters)) );
许可证
本库采用 MIT 许可证。