PHP操作solr

1,php下载solr(索尔)扩展,phpinfo需要支持solr扩展.

2,安装 Solr。Solr 要求您的系统上有 Java。java --version,Java 的版本大于 1.6

3,下载solr,并安装 D:\solr。

开启solr命令:solr start

关闭solr命令:solr stop -all

4,代码

$option = array(

'hostname' => '127.0.0.1', // solr 服务器ip地址

'login' => '', // 用户名 (solr配置了才需要传)

'password' => '', // 密码 (solr配置了才需要传)

'port' => 8983, // 端口

'path' => 'solr/new_core' // 核心

);
s o l r C l i e n t = n e w S o l r C l i e n t ( solrClient = new SolrClient( solrClient=newSolrClient(option);

// 通过ping来判断是否连接成功

try {

//增加

res = solrClient->ping();

$sql = "select * from users";
c l i e n t = n e w S o l r C l i e n t ( client = new SolrClient( client=newSolrClient(option);

$doc = new SolrInputDocument();

$doc->addField('id', 111);

$doc->addField('name', 100);

$doc->addField('email', 'Hello Wolrd');

$response = c l i e n t − > a d d D o c u m e n t ( client->addDocument( client−>addDocument(doc);
c l i e n t − > c o m m i t ( ) ; / / p r i n t r ( client->commit(); // print_r( client−>commit();//printr(response);

//查询
c l i e n t = n e w S o l r C l i e n t ( client = new SolrClient( client=newSolrClient(option);

$query = new SolrQuery();

$query->setQuery('name:fangyan');

$query->setStart(0);

$query->setRows(50);

$query_response = c l i e n t − > q u e r y ( client->query( client−>query(query);

$response1 = q u e r y r e s p o n s e − > g e t R e s p o n s e ( ) ; / / e c h o " < p r e / > " ; / / p r i n t r ( query_response->getResponse(); // echo "<pre/>"; // print_r( queryresponse−>getResponse();//echo"<pre/>";//printr(response1);

//删除
c l i e n t = n e w S o l r C l i e n t ( client = new SolrClient( client=newSolrClient(option);

$client->deleteByQuery('id:111');

$result = c l i e n t − > c o m m i t ( ) ; e c h o " < p r e / > " ; p r i n t r ( client->commit(); echo "<pre/>"; print_r( client−>commit();echo"<pre/>";printr(result);

exit;

} catch (Exception KaTeX parse error: Expected '}', got 'EOF' at end of input: ... die(e->getMessage());

}

5,同步数据

http://localhost:8983/solr/new_core/dataimport?command=full-import\&commit=true\&clean=false

未将clean设置为false,实际使用时不能设置为true,否则原数据会被清除

相关推荐
冰橙子id2 小时前
centos7编译安装LNMP架构
mysql·nginx·架构·centos·php
永日456703 小时前
学习日记-day24-6.8
开发语言·学习·php
Clang's Blog3 小时前
一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 & 自定义配置)
数据库·mysql·php·wordpr
flyair_China8 小时前
【云架构】
开发语言·php
有个傻瓜10 小时前
PHP语言核心技术全景解析
开发语言·kubernetes·php
rorg17 小时前
使用 Laravel 中的自定义存根简化工作
php·laravel
斯奕sky_small-BAD1 天前
C++ if语句完全指南:从基础到工程实践
java·开发语言·php
Nick同学1 天前
GatewayWorker 使用总结
后端·php
CRMEB定制开发1 天前
CRMEB 中 PHP 快递查询扩展实现:涵盖一号通、阿里云、腾讯云
阿里云·php·腾讯云·商城系统·商城源码
CRMEB定制开发1 天前
PHP 打印扩展开发:从易联云到小鹅通的多驱动集成实践
php·小程序源码·商城源码·微信商城·php商城源码