Ubuntu 14.04下安装solr 4.10以及集成Mysql方法

写在前面

之前使用lucene,不过使用的是pylucene(可以理解为python版的lucene),进行txt文件的检索和搜索都可以实现,但是在对其进行添加jar包的时候,总是出现问题,因此换一个方向,试一试solr.

solr简介

Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。

直入主题

下面直接介绍ubuntu下安装solr,以及solr和tomcat整合,主要从下面几个方面介绍:

1.系统环境介绍本机系统:ubuntu 14.04solr版本:4.10.2tomcat版本:7.0mysql版本 :5.52.Solr/Tomcat 安装

因为在ubuntu系统下,安装tomcat时候,我直接使用的apt-get命令,可以自动关联相对应的包依赖.

tomcat 安装 在此之前请先安装好JDK,此处不再赘述,当然要注意选择JDK版本和机器版本相匹配.

sudo apt-get install tomcat7

使用apt-get好处是简单方便,不必考虑太多的依赖项,但是也会出现一个问题,就是tomcat的配置文件会分散在不同的文件夹中,这个问题在后来配置solr和tomcat整合时,需要多小心. 也有文章说,用apt-get命令安装的tomcat,在用eclipse时候会需要进行特殊的设置,之后需要验证一下.(在这本博客时候,还没开始使用eclipse编程).

基于前车之鉴,我还是建议直接选择二进制下载tomcat,使用命令解压安装tomcat.毕竟下载解压安装也是很方便的. 这里可以参考资料Ubantu下用apt-get形式安装tomcat

solra安装 solr安装比较简单,在官网下载需要版本,解压到本地目录中. solr官网地址:本文中下载的是solr-4.10.2版本.

转移到solr目录/opt中:

sudo mv solr-4.10.2.tgz /opt

解压文件:

sudo tar -xvf solr-4.10.2.tgz

记录: /etc/tomcat7 环境配置,可以设置tomcat 用户以及密码

/var/lib/tomcat7 作为tomcat的主目录,webapps存放应用文件

/usr/share/tomcat7 添加lib包,有时solr调用时候缺少包,需要放在此处

3. Solr/Tomcat 整合

Solr 作为企业级的服务器,其自带一个Jetty server,根据solr guide上说可以不用另外安装服务器,可直接使用Jetty.在这里不去评价Jetty server和tomcat的不同,因为本机上之前有使用tomcat部署应用,就想着还使用tomcat. Solr整合Tomcat,整体思路也就是在tomcat中部署应用:

(1)solr实例部署在tomcat目录

sudo cp -r solr-4.10.2/example/webapps/solr.war /var/lib/tomcat7/webapps/sudo cp -r solr-4.10.2/example/solr /opt

需要注意 tomcat根目录下必须是solr.war

(2)添加相对应的jar包

sudo cp -r /opt/solr-4.10.2/example/lib/ext/* /usr/share/tomcat7/lib/sudo cp -r /mnt/solr-4.10.2/example/resources/log4j.properties /usr/share/tomcat7/lib/

(3)修改tomcat和solr配置文件

*修改solr配置:

cd /opt/solrsudo mkdir datasudo chmod a+w datasudo gedit collection1/conf/solrconfig.xml

将<dataDir>${solr.data.dir:}</dataDir>改为

<dataDir>${solr.data.dir:/opt/solr/data}</dataDir>

*修改tomcat配置

sudo gedit /etc/tomcat7/Catalina/locathost/solr.xml

添加下面内容:

====>

重启tomcat7,solr.war将会解压一个solr目录,然后进行修改:

sudo service tomcat7 restartsudo gedit /var/lib/tomcat7/webapps/solr/WEB-INF/web.xml

修改/var/lib/tomcat7/webapps/solr/WEB-INF/web.xml将

>/put/your/solr/home/here>

改为

>/opt/solr>

然后在浏览器中输入: 127.0.0.1:8080/solr 就可以进入solr后台管理界面.

**注意事项** 在安装的时候,会出现问题,这个时候不要着急,先查看log文件,ubuntu上log文件存放在/var/log中.一般情况下,log会将问题暴露.

4.Solr集成Mysql

solr相当于对lucene进行完整封装,因此其完成搜索功能也是同类思路:(1)建立索引(2)进行搜索 .因此这里准备对mysql进行搜索,将其作为数据源进行输入. 需要进行的操作:

(1)下载solr的mysql数据驱动包 乖乖的到官网下载 ,可以选择最新版本(这里选择的是mysql-connector-java-5.1.22-bin.jar). 打开速度有些慢,有时不太稳定,如有需要可留言发给你.

下载后解压,要用到其中的jar包 ,将jar包添加到tomcat的lib中:

sudo cp mysql-connector-java-5.1.22-bin.jar /usr/share/tomcat7/lib

(2)配置数据源 进入solrconfig.xml文件目录下,创建mysql-data-config.xml:

cd /opt/solr/collection1/confsudo gedit mysql-data-config.xml

根据需要添加新内容:

==>=====></dataConfig>

在这里使用com.mysql.jdbc.Driver进行mysql连接,通过xml里面配置sql语句.

(3)配置dataimport handler

打开solr管理后台,选择相应的core,,选择Dataimport.第一次打开,会提示sorry, no dataimport-handler defined!

编辑solrconfig

sudo gedit solr-4.10.2/example/solr/collection1/conf/solrconfig.xml

添加如下代码:

===>

(4)重启solr管理界面

选择实例 –> 添加DIH –>执行Execute

在安装solr和与mysql进行集成的时候,会出现一些问题,下面讲简单统计一些问题解决方法:

(1)SolrResourceLoader Can’t find (or read) directory to add to classloader: ../../../contrib/extraction/lib 查看:

(2) For security reasons, SolrResourceLoader cannot load files from outside the instance’s directory 查看:

(3)java.lang.ClassNotFoundException:org.apache.solr.handler.dataimport.DataImportHandler 查看:

总结:在进行安装的时候,首先要注意版本问题,版本不同可能会出现意想不到的错误;遇到出错时候,要先查看log日志,根据log搜找解决方案;现在使用mysql作为数据源,后续使用本地文件(如pdf,ppt,word等)作为数据源.

生命中,每一种苦难的背后都有一片晴朗的天空

Ubuntu 14.04下安装solr 4.10以及集成Mysql方法

相关文章:

你感兴趣的文章:

标签云: