Coder之路 / PHP 编程 · 2015/06/25 0

Ubuntu 下 PHP Solr 扩展的安装与使用

一. 安装

1. 下载扩展包

Pecl::Package::Solr 下载最新稳定版扩展包并解包

2. 安装基础库

安装 libcurl devel 文件:
sudo apt-get install libcurl4-gnutls-dev

安装 libxml2 devel 文件:
sudo apt-get install libxml2-dev

3. 编译安装扩展
phpize
./configure
make
sudo make install

4. 添加PHP 扩展配置
extension=solr.so

二. 使用

1. 启动实例

参考 SOLR 的安装使用 一文启动测试实例

2. 在实例中查询

 '127.0.0.1',
    'wt' => 'json',
    'path' => 'solr/gettingstarted_shard1_replica1',
];
$client = new SolrClient($options);

$query = new SolrQuery;
$query->setQuery('lucene');
$query->addField('id');
$query->addField('name');
$query->addField('title');

$resp = $client->query($query);
$r = $resp->getResponse();

var_dump($r);

上面的代码中, 如果不清楚 SolrClient 的 $options 可以使用

$client->getOptions();

获取完整的参数, 然后尝试设置.

3. 添加文档到 Solr 中

 '127.0.0.1',
    'wt' => 'json',
    'path' => 'solr/gettingstarted_shard1_replica1',
];
$client = new SolrClient($options);

$doc = new SolrInputDocument();
$doc->addField('id', 'solr.xwsoul.com');
$doc->addField('title', '虚伪的灵魂');
$doc->addField('description', '人人都是戴着面具而活, 我却连灵魂都是虚伪的.');
$doc->addField('tags', '技术');
$doc->addField('tags', 'Solr');
$response = $client->addDocument($doc);
$client->commit();

$query = new SolrQuery;
$query->setQuery('虚伪 灵魂');
$query->addField('id');
$query->addField('title');
$query->addField('description');
$query->addField('tags');

$resp = $client->query($query);
$r = $resp->getResponse();

var_dump($r);

至此, 我们已经可以简单的通过 PHP 操作 Solr 了.