【Solr】深入浅出Solr(二)——搭建单机服务

一、前言

上一篇博客中,小编向大家深入的介绍了一下搜索引擎,稍微提出了Solr。封装及扩展性较好,提供了较为完备的解决方案,因此在门户社区中采用此方案,后期加入Compass方案。 基于这些性能优势,在一些门户网站上,使用Solr进行站内搜索还是比较高效的。下面就向大家介绍一下如何搭建一个单机版的Solr服务。

二、环境介绍

  • Linux ,小编使用的Centos7

  • jdk

  • tomcat

三、搭建过程

3.0 上传文件

上传如下文件,到usr/local/src下:

3.1 安装jdk

a、下载jdk并上传到/usr/java目录

jdk7下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 选择对应的linux版本,下载rpm文件。这里选择的是jdk-7u79-linux-x64.rpm。在usr下建立java文件夹,并上传到Linux的/usr/java目录下(java目录不存在则进行创建)。

b、解压安装

运行如下命令进行解压

rpm -ivh 文件名称

c、配置profile文件

运行如下命令:

vim /etc/profile

内容添加到profile文件末尾并保存

export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

保存之后,运行如下命令使配置生效

source /etc/profile

检查jdk是否安装成功,运行如下命令

java -version

3.2 安装tomcat

解压tomcat

tar -zxf apache-tomcat-7.0.47.tar.gz

在usr/local路径下建立solr/tomcat文件夹,向/usr/local/solr/tomcat中拷贝一份tomcat

cp apache-tomcat-7.0.47 /usr/local/solr/tomcat -r

3.3 解压solr压缩包

解压solr

tar -zxf solr-4.10.3.tgz.tgz

把dist/solr-4.10.3.war部署到tomcat下。

cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war

3.4 启动tomcat解压拷贝的war包

启动tomcat解压拷贝的war包,注意: tomcat 运行的前提是要有jdk

./startup.sh

3.5 需要把/root/solr-4.10.3/example/lib/ext目录下的所有的jar包添加到solr工程中

cp * /usr/local/solr/tomcat/webapps/solr-4.10.3/WEB-INF/lib/ -r

3.6 创建solrhome

把/root/solr-4.10.3/example/solr文件夹复制一份作为solrhome。

创建solrhome

cp -r solr /usr/local/solr/solrhome

Schema.xml 定义了所有的域
Solrconfig.xml 定义了所有的handeler

3.7 修改tomcat下solr的web.xml

告诉solr服务solrhome的位置。需要修改web.xml

3.8 配置中文分析器

a.把IKAnalyzer依赖的jar包添加到solr工程中。把分析器使用的扩展词典添加到classpath中。

cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

b.需要自定义一个FieldType。Schema.xml中定义。可以在FieldType中指定中文分析器。

<fieldType name="text_ik" class="solr.TextField">
  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

c.自定义

指定域的类型为自定义的FieldType。

举一个例子:比如我们使用的sql语句是这样的

 SELECT a.id,a.title,a.sell_point,a.price,a.image,b.`name` category_name,c.item_desc FROM tb_item a LEFT JOIN tb_item_cat b ON a.cid = b.id LEFT JOIN tb_item_desc c ON a.id = c.item_id WHERE a.`status` = 1 

需要配置的代码

<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price"  type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>

3.9 启动tomcat

输入访问的网址:http://192.168.137.13:8080 ,访问效果如下:

四、小结

solr的单机搭建过程还是比较简单的, 使用也是比较方便的,操作流程。另外就是注意要关闭防火墙或者是开启指定的端口。然后别的就没有什么了。

下一篇博客向大家带来如何使用Solr,如何向Solr中导入数据。

相关文章

有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安...
首先参照https://www.cnblogs.com/wdw984/p/13330074.html,来进行如何安装Centos和离线下载rpm包。 离...
有两个.NET CORE3.1网站部署在CentOS7上(内网IP是192.168.2.32),现在想实现访问http://192.168.2.32...
1、yum -y install vsftpd 安装vsftpd 2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以...
首先去mysql官网下载mysql的离线rpm安装包(https://downloads.mysql.com/archives/community/) Mysql...
第一步下载erlang环境并安装: wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_...