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

来源:互联网 发布:淘宝刷单兼职靠谱吗 编辑:程序博客网 时间:2024/05/17 01:34

一、前言

      在上一篇博客中,小编向大家深入的介绍了一下搜索引擎,稍微提出了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_131export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport 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_descFROM    tb_item aLEFT JOIN tb_item_cat b ON a.cid = b.idLEFT JOIN tb_item_desc c ON a.id = c.item_idWHERE    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中导入数据。

原创粉丝点击