zrt-lab/zrt-service-solr

Zend Framework 1 Solr 包

dev-master 2014-06-30 21:09 UTC

This package is auto-updated.

Last update: 2024-09-29 03:57:49 UTC


README

为什么?

如何使用

"zrtlab/zend-service-solr": "dev-develop" 添加到你的 composer.json 的 require 部分,包括 composer 自动加载器,即可使用。

生成 Solr 客户端实例的一种方法是,在 application.ini 中添加连接参数

zrt.services.solr.endpoint.collection.host = 127.0.0.1
zrt.services.solr.endpoint.collection.port = 8080
zrt.services.solr.endpoint.collection.path = /solr
zrt.services.solr.endpoint.collection.core = aviso
zrt.services.solr.endpoint.collection.timeout = 5

继承自 Zrt_Application_Bootstrap_Bootstrap 类的 Bootstrap

<?php 
    
    class Bootstrap extends Zrt_Application_Bootstrap_Bootstrap
    {

    ...

通过 Bootstrap 将实例注册到 Zend_Registry,索引为 "zend.service.solr"

示例

class Test_SolariumController extends Zend_Controller_Action
{

    public function indexAction()
    {
        $client = Zend_Registry::get('zrt.service.solr');
        $query = $client->createQuery($client::QUERY_SELECT);

        $resultset = $client->execute($query);

        echo 'NumFound: '.$resultset->getNumFound();

        foreach ($resultset as $document) {

            echo '<hr/><table>';

            foreach ($document as $field => $value) {
                if (is_array($value)) {
                    $value = implode(', ', $value);
                }

                echo '<tr><th>' . $field . '</th><td>' . $value . '</td></tr>';
            }

            echo '</table>';
        }
        exit;

    }

}