bluem / silex-solr-provider
为Silex提供Apache Solr 4.*连接性,Solr扩展v2
Requires
- php: >=5.3.0
- ext-solr: ~2.0
- silex/silex: ~1.2
This package is auto-updated.
Last update: 2020-02-15 20:42:02 UTC
README
由于Silex已被停止开发,因此该项目也将停止。它将不会收到更新或修复。
概述
这是什么?
此存储库包含一个Silex服务提供者,该提供者通过PHP Solr扩展 v2,为Silex 1.2+提供Apache Solr版本 4或5的连接性。
安装
安装此库的首选方法是通过Composer。为此,将“bluem/silex-solr-provider”: “~1.0” (适用于Silex 1.2+) 或“bluem/silex-solr-provider”: “~2.0@dev” (适用于Silex2@dev) 分别添加到您的 composer.json
文件中的需求中。由于此库使用语义版本控制,当您运行composer update时,您将获得修复和功能添加,但不会得到破坏API的更改。
或者,您可以使用git克隆存储库或下载一个标记的版本。与基于Composer的安装一样,您必须注意Silex的版本:当使用Silex 1.2+时,您将需要服务提供者的1.*版本,而对于Silex 2,您将需要dev-master。
使用方法
注册提供者
为了使Silex了解提供者,请将以下内容添加到您的 app.php
$app->register(new BlueM\Silex\Provider\SolrServiceProvider());
配置
您可以在config/prod.php
和config/dev.php
中使用通常的Silex方法定义Solr设置,例如主机名。
示例
$app['solr.hostname'] = '127.0.0.1'; $app['solr.path'] = 'solr/core0';
您可以使用SolrClient
类构造函数接受的任何选项。有关列表,请参阅https://php.ac.cn/manual/en/solrclient.construct.php。请注意,SolrClient
不接受空的选项数组,这意味着您必须提供至少1个选项,否则您将得到一个异常。
另一种(在我看来不太推荐的)方式是在注册提供者时将选项作为第二个参数传递给Silex\Application
。
$app->register( new BlueM\Silex\Provider\SolrServiceProvider(), ['solr.hostname' => '127.0.0.1'] );
在任一情况下,您都可以通过将此字符串作为参数传递给提供者的构造函数来使用不同的字符串(而不是“solr”)作为配置键前缀。当需要多个核心时,这也很方便。
// In app.php: $app->register(new BlueM\Silex\Provider\SolrServiceProvider('solr-core0')); $app->register(new BlueM\Silex\Provider\SolrServiceProvider('solr-core1')); // In config/prod.php: $app['solr-core0.hostname'] = '127.0.0.1'; $app['solr-core0.path'] = 'solr/core0'; $app['solr-core1.hostname'] = '127.0.0.1'; $app['solr-core1.path'] = 'solr/core1'; // In your project code: $app['solr-core0']->doSomethingWithCore0(); $app['solr-core1']->doSomethingWithCore1();
版本历史
- 1.0.1: 改进Readme,修复文档注释
- 1.0: 工作
作者 & 许可证
此代码由Carsten Blüm (www.bluem.net) 编写,并使用BSD 2-Clause许可证授权。