rulerz-php/solarium

Solarium 编译目标 for RulerZ

dev-master 2020-01-03 14:13 UTC

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 许可证。