一.安装
1.下载扩展包
从 Pecl::Package::Solr(https://pecl.php.net/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 的安装与快速启用
1].安装 JDK
我用的Ubuntu 装的 Oracle-java-8
2].下载最新版的 Solr
去 Apache Solr(http://lucene.apache.org/solr/) 下载最新版并解包3
3].快速启动
3.1].启动测试实例
bin/solr start -e cloud -noprompt
启动后, 通过在浏览器中打开 http://localhost:8983/solr/ 访问管理UI.
3.2].建立索引
bin/post -c gettingstarted docs/
上述命令建立了 docs/ 目录下的富文件(rich file)内容的索引
3.3].开始查询
点击 1 中打开的页面左侧的 Select Core, 选择任意分片, 点击 Query 后选择 Excute Query 即可开始查询.
参考文档: http://lucene.apache.org/solr/quickstart.html
2.在实例中查询
<?php
$options = [
'hostname' => '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 中
<?php
$options = [
'hostname' => '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', 'linux');
$doc->addField('description', 'linux社区.');
$doc->addField('tags', '技术');
$doc->addField('tags', 'Solr');
$response = $client->addDocument($doc);
$client->commit();
$query = new SolrQuery;
$query->setQuery('linux 社区');
$query->addField('id');
$query->addField('title');
$query->addField('description');
$query->addField('tags');
$resp = $client->query($query);
$r = $resp->getResponse();
var_dump($r);
至此, 我们已经可以简单的通过 PHP 操作 Solr 了.