php使用solr全文搜索引擎

2025-05-14 05:35:33

java用solr的挺多的,但是PHP好像挺少。数据库模糊查询速度比较慢,由于在实际生活中,一般搜索是用的比较多的,这样数据库压力自然就很大,所以我们就让供专业的solr来做搜索功能。使用步骤呢,大概分为6步:1、下载安装java环境,配置环境变量2、下载安装solr,照着网上的solr安装一步步进行配置3、安装中文分词器,一般用IK分词器4、创建core。配置schema、联想词、停用词等5、PHP安装solr扩展6、写PHP代码实现solr增删改查此文章对于java和solr安装只是个大概,网上这类的文章很多,可以参考其他优秀的文章

工具/原料

java环境、启动solr、PHP安装solr扩展

java环境安装

1、已经安装java环境的朋友可以直接进入下一步首先我们需要下载java开发工具包JDK,安装根据提示进行,安装完成之后配置环境变量因为这里不允许放外链, 请直接百度“Java 开发环境配置| 菜鸟教程”,然后选runoob的,按照步骤来就OK,配置好之后,cmd中运行“java -version”,出现以下信息,说明环境变量配置成功。

php使用solr全文搜索引擎

2、打开DOS,路径切换至solr_home\bin,执行命令:solr start –p 8983,将solr在8983端口运行,看到以下图片就证明solr启动成功了。solr_home是你下载之后解压的目录solr常用命令:solr start –p 8983 启动solr restart –p 8983 重启solr stop –p 8983 关闭

php使用solr全文搜索引擎

4、其他的创建core,修改配置、添加中文分词器等,建议百度“Solr7.5安装和使用详细教程(单机版)”参考,到后面导入索引数据我是照着这个做的,没有问题,所以你也可以。鉴于我的重点是PHP使用solr,所以我就下一步了另外也可以百度solr使用文档

php使用solr全文搜索引擎

2、下载解压之后,将其中的dll文件放到php的扩展目录,然后在php.ini开启solr扩展,再通过phpinfo查看是否正常安装[solr]extension=php_solr.dll

php使用solr全文搜索引擎

4、 // 通过PHP从数据库获取商品数据导入到solr搜索引擎 $衡痕贤伎sql = " SELECT * FROM " . $ecs->table('goods') . " WHERE user_id =2334 limit 10"; $data = $db->getAll($sql);//循环整理数据,这里可以根据你的实际情况addField foreach ($data as $key => $value) { $doc = new SolrInputDocument(); $doc->addField('goodId', $value['goods_id']); $doc->addField('goods_name', $value['goods_name']."20190909"); $doc->addField('goods_number', $value['goods_number']); $doc->addField('goods_sn', $value['goods_sn']); $doc->addField('cat_name', "其他"); $doc->addField('brand_name', "测试店铺1"); $doc->addField('shop_price', $value['shop_price']); $doc->addField('rz_shopName', '测试店铺1'); $doc->addField('id',$value['goods_id']);//当索引文档中主键id值存在时,会更新原文档,不存在则会添加文档。我这里商品id是唯一的,所以这样使用 $response = $client->addDocument($doc); }//提交 $client->commit();可以搜索到刚刚从数据库导入的商品

php使用solr全文搜索引擎
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢