liunx、centos下安装solr和php的solr扩展

一、获取solr文件

solr需要java jdk的支持,如果没安装,先安装jdk

链接地址:https://www.apache.org/dyn/closer.lua/lucene/solr/8.5.0/solr-8.5.0.tgz

目前在官网下载低于jdk1.8的java jdk的时候需要登陆,这边分享一个账号,方便下载

1、下载jdk

下载地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
账号:2696671285@qq.com 
密码:Oracle123
账号提供者:https://blog.csdn.net/WNsshssm/article/details/84315519

2、安装JDK

rpm -ivh jdk-8u241-linux-x64.rpm

这里我都把文件放置在src里,进入该文件输入如上命令。

安装成功呈现这种:

Preparing...                          ################################# [100%]
        package jdk1.8-2000:1.8.0_241-fcs.x86_64 is already installed

3、配置JDK环境变量

vim /etc/profile 

在最后面加上下面这段

JAVA_HOME=/usr/java/jdk1.8.0_241-amd64 

CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

4、检查是否完成安装

java -version

二、获取下载文件后,进入文件所在文件夹解压

tar zxvf solr-8.5.0.tgz

三、然后执行下面命令启动

/www/Solr/solr-8.5.0/bin/solr start -force

1.开启成功如图:

2.然后在浏览器输入http://你的ip:8983/solr/,就可以看到如下图所示,就OK了,这里记得打开安全组放行8983端口


如果遇到:

/www/Solr/solr-8.5.0/solr/bin/solr: Permission denied
请赋予文件夹权限
chmod -R 777 solr文件夹
因为solr使用8983端口,请去安全组放行

如果出现这种进程限制警告:

请输入:

vim  /etc/security/limits.conf
在底部添加以root身份修改/etc/security/limits.conf文件,在最后添加
* hard nproc 65000
* soft nproc 65000
* hard nofile 65000
* soft nofile 65000
以root身份修改文件/etc/security/limits.d/20-nproc.conf 文件(centOS6为90-nproc.conf),文件内容为
*          soft    nproc     4096
root       soft    nproc     unlimited
将4090改成65535。

然后重启服务器

3.solr的关闭和其他命令

/www/Solr/solr-8.5.0/solr/bin/solr stop -force
或
/www/Solr/solr-8.5.0/solr/bin/solr stop -all 【推荐】

4、添加自己的solr core

a、创建core目录

在/Solr/solr-8.5.0/server/solr目录下创建new_core目录(名字自己定)

b、复制配置文件

复制/Solr/solr-8.5.0/server/solr/configsets/_default下的conf文件夹到/Solr/solr-8.5.0/server/solr/new_core/下。

c、添加core

在页面添加new_core(必须先做上面1、2步,不然会提示报错)。

添加成功后/Solr/solr-8.5.0/server/solr/new_core/下会多两个东西。

core.properties文件、data目录

5.添加中文分词

因为slor里面自带有中分分词器,存放在solr-8.5.0/contrib/analysis-extras/lucene-libs这目录里,找到“lucene-analyzers-smartcn-8.5.0.jar”,把它复制到“solr-8.5.0/server/solr-webapp/webapp/WEB-INF/lib”里

然后找到“solr-8.5.0/server/solr/new_core/conf”里的managed-schema添加下面这段代码:

  <fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
      </analyzer>
      <analyzer type="query">
         <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
       </analyzer>
    </fieldType>
然后在你想然后将相应字段的类型设置成text_cn,例如,本博文中将name设为text_cn类型
<field name="name" type="text_cn"/>
然后重启solr,

打开slor页面,输入汉字,选择‘text_cn’,点击右边蓝色按钮,就出现如下图,中文分词添加成功


图中q、fq、sort、fl、df等,这些字段都是搜索用的字段,我们只要搞清楚这些字段意义就可以写php代码了。

字段的意义网上有很多,这个链接都有介绍了

http://blog.csdn.net/zmken497300/article/details/52817825


四、安装php扩展

1.进入在你想放的文件夹里执行下面的代码

wget https://pecl.php.net/get/solr-2.5.0.tgz
获取solr扩展

2.然后执行解压:

tar zxvf solr-2.5.0.tgz 

3.进入解压的文件

cd solr-2.5.0 
4.然后找到你的phpize在哪
find / -name phpize
5.然后执行它,根据你自己配置的php文件路径,自己选择,我的是这样执行
/www/server/php/73/bin/phpize

6、开始./confgure,这里的php-config,也要找到你自己的路径,不知道的可以执行上面查找phpize的命令一样进行查询

./configure --with-php-config=/usr/local/php7/bin/php-config
然后回车,

7、最后执行安装

make && make install
8、安装成功

9、到你的php.ini添加扩展吧

[solr]
extension =  /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/solr.so
extensions=solr.so
10、重启服务,然后浏览器 phpinfo.php一下看看扩展是否安装好

到这里就安装完成了,其他的一些操作,日后在更。

本文由37°5【https://www.alvinxiao.comhttps://blog.alvinxiao.com原创,转载请注明来源。请注意原创和打造和谐的网络环境,谢谢!

分享到: