在上一篇博客中,小编向大家深入的介绍了一下搜索引擎,稍微提出了Solr。封装及扩展性较好,提供了较为完备的解决方案,因此在门户社区中采用此方案,后期加入Compass方案。 基于这些性能优势,在一些门户网站上,使用Solr进行站内搜索还是比较高效的。下面就向大家介绍一下如何搭建一个单机版的Solr服务。
Linux ,小编使用的Centos7
jdk
tomcat
上传如下文件,到usr/local/src下:
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
解压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
解压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
启动tomcat解压拷贝的war包,注意: tomcat 运行的前提是要有jdk
./startup.sh
cp * /usr/local/solr/tomcat/webapps/solr-4.10.3/WEB-INF/lib/ -r
把/root/solr-4.10.3/example/solr文件夹复制一份作为solrhome。
创建solrhome
cp -r solr /usr/local/solr/solrhome
Schema.xml 定义了所有的域
Solrconfig.xml 定义了所有的handeler
告诉solr服务solrhome的位置。需要修改web.xml
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
需要配置的代码:
"item_title" type="text_ik" indexed="true" stored="true"/>
"item_sell_point" type="text_ik" indexed="true" stored="true"/>
"item_price" type="long" indexed="true" stored="true"/>
"item_image" type="string" indexed="false" stored="true" />
"item_category_name" type="string" indexed="true" stored="true" />
"item_desc" type="text_ik" indexed="true" stored="false" />
"item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
"item_title" dest="item_keywords"/>
"item_sell_point" dest="item_keywords"/>
"item_category_name" dest="item_keywords"/>
"item_desc" dest="item_keywords"/>
输入访问的网址:http://192.168.137.13:8080 ,访问效果如下:
solr的单机搭建过程还是比较简单的, 使用也是比较方便的,操作流程。另外就是注意要关闭防火墙或者是开启指定的端口。然后别的就没有什么了。
下一篇博客向大家带来如何使用Solr,如何向Solr中导入数据。