如何通过PHP封装调用Solr服务?

更新于
2026-09-26 05:03:16
1阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计239个文字,预计阅读时间需要1分钟。

如何通过PHP封装调用Solr服务?

Solr自带的HTTP接口可由PHP实现简单封装,其他语言也可基于相应HTTP接口方便地实现。以下是一个PHP类的示例:

phpclass SolrUtil { private $solrserver=''; private $core='';

/** * 设置Solr服务器地址 * @param string $server Solr服务器地址 */ public function setSolrServer($server) { $this->solrserver=$server; }

/** * 设置Solr核心名称 * @param string $coreName Solr核心名称 */ public function setCore($coreName) { $this->core=$coreName; }

/** * 执行Solr查询 * @param string $query 查询语句 * @return mixed 查询结果 */ public function query($query) { $url=$this->solrserver . '/' . $this->core . '/select?q=' . urlencode($query); $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result=curl_exec($ch); curl_close($ch); return json_decode($result, true); }}

solr自身提供了127.0.0.1:8983/solr/', 'core1'); // $data = $solrUtil->select(array('q'=>'text:商业 AND app_name:测试')); // $data = $solrUtil->select(array('q'=>'测试')); $data = $solrUtil->select(array('q'=>'id:"864"')); // $data = $solrUtil->analysis(array('q'=>'测试数据')); // $data = $solrUtil->suggest(array('q'=>'测试')); // $data = $solrUtil->moreLike(array('q'=>'测试')); // $data = $solrUtil->fullImport(); // $data = $solrUtil->deltaImport(); // $data = $solrUtil->abortImport(); // $data = $solrUtil->statusImport(); // $data = $solrUtil->update(array('id' => 864,'app_name'=>array('set'=>'测试2'))); // $data = $solrUtil->delete(array('id'=>864)); // $data = $solrUtil->add(array('id'=>864, 'app_name' => '测试成功')); print_r($data); ?>

如何通过PHP封装调用Solr服务?

本文共计239个文字,预计阅读时间需要1分钟。

如何通过PHP封装调用Solr服务?

Solr自带的HTTP接口可由PHP实现简单封装,其他语言也可基于相应HTTP接口方便地实现。以下是一个PHP类的示例:

phpclass SolrUtil { private $solrserver=''; private $core='';

/** * 设置Solr服务器地址 * @param string $server Solr服务器地址 */ public function setSolrServer($server) { $this->solrserver=$server; }

/** * 设置Solr核心名称 * @param string $coreName Solr核心名称 */ public function setCore($coreName) { $this->core=$coreName; }

/** * 执行Solr查询 * @param string $query 查询语句 * @return mixed 查询结果 */ public function query($query) { $url=$this->solrserver . '/' . $this->core . '/select?q=' . urlencode($query); $ch=curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result=curl_exec($ch); curl_close($ch); return json_decode($result, true); }}

solr自身提供了127.0.0.1:8983/solr/', 'core1'); // $data = $solrUtil->select(array('q'=>'text:商业 AND app_name:测试')); // $data = $solrUtil->select(array('q'=>'测试')); $data = $solrUtil->select(array('q'=>'id:"864"')); // $data = $solrUtil->analysis(array('q'=>'测试数据')); // $data = $solrUtil->suggest(array('q'=>'测试')); // $data = $solrUtil->moreLike(array('q'=>'测试')); // $data = $solrUtil->fullImport(); // $data = $solrUtil->deltaImport(); // $data = $solrUtil->abortImport(); // $data = $solrUtil->statusImport(); // $data = $solrUtil->update(array('id' => 864,'app_name'=>array('set'=>'测试2'))); // $data = $solrUtil->delete(array('id'=>864)); // $data = $solrUtil->add(array('id'=>864, 'app_name' => '测试成功')); print_r($data); ?>

如何通过PHP封装调用Solr服务?