使用 PHP 和 Apache Solr 实现企业搜索
2024-08-22 18:57:06
原文链接:http://www.ibm.com/developerworks/cn/opensource/os-php-apachesolr/
http://blog.csdn.net/hzcyclone/article/details/7006354
1、安装solr(下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.0.0)
2、安装php的solr扩展(下载地址:http://pecl.php.net/package/solr)
3、下载phpsolrclient代码(最健壮的实现是 Donovan Jimenez 的 PHP Solr Client,下载地址:http://code.google.com/p/solr-php-client/downloads/list)
4、使用代码示例:
<?php include("Apache/Solr/Service.php"); //连接Solr服务器 $solr = new Apache_Solr_service('localhost' , '8983' ,'/solr'); if( !$solr->ping() ) { echo'Solr server not responding'; exit; } $data = array( array( 'id' => 'EN80922032', 'name' => '男士打磨直筒休闲牛仔裤', 'brand' => 'ENERGIE', 'cat' => '牛仔裤', 'price' => '1870.00' ), array( 'id' => 'EN70906025', 'name' => '品牌LOGO翻领拉链外套', 'brand' => 'ENERGIE', 'cat' => '外套', 'price' => '1680.00' ), ); //添加索引数据 $documents = array(); foreach($data as $key => $value) { $part =new Apache_Solr_Document(); foreach($value as $key2 =>$value2) { $part->$key2 =$value2; } $documents[] = $part; } $solr->addDocuments( $documents ); $solr->commit(); $solr->optimize(); //查询索引 $solr->search(字段:关键字 , 开始 ,每页显示,排序) $offset = 0; $limit = 10; $sort = 'price asc'; $rs = $solr->search("brand:ENERGIE" , $offset ,$limit,array('sort' => $sort)); if($rs->response->numFound> 0) { foreach($rs->response->docs as $doc) { echo $doc->id.'|'.$doc->name.'|'.$doc->brand.'|'.$doc->price.'<br>'; } } ?>
最新文章
- asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库
- ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象
- 2015ACM/ICPC亚洲区长春站 E hdu 5531 Rebuild
- andriod开发,简单的封装网络请求并监听返回.
- - C#编程大幅提高OUTLOOK的邮件搜索能力!
- 고서--做完A之后做B, B受A影响
- poj 1797 Heavy Transportation(最大生成树)
- win10系统下如何用命令行的方式打开画图软件
- android值得珍藏的6个开源框架技术
- docker(1)应用场景以及安装
- Source Insight 4.0安装后首次打开报错Unable to open or create
- Python全栈开发之路 【第八篇】:面向对象编程设计与开发(2)
- 对XML文件进行的修改
- Codeforces 514E Darth Vader and Tree 矩阵快速幂
- android studio java工程 报错
- python读取excel中单元格的内容返回的5种类型
- Qt Widgets——动作类与小部件菜单项
- HDFS的操作SHELL和API
- Hyperscan与Snort的集成方案
- tree命令详解