Ubuntu 14.04下安装solr 4.10以及集成Mysql方法
2015-03-28 11:55
525 查看
写在前面
之前使用lucene,不过使用的是pylucene(可以理解为python版的lucene),进行txt文件的检索和搜索都可以实现,但是在对其进行添加jar包的时候,总是出现问题,因此换一个方向,试一试solr.solr简介
Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。直入主题
下面直接介绍ubuntu下安装solr,以及solr和tomcat整合,主要从下面几个方面介绍:1.系统环境介绍
2.Solr/Tomcat安装
3.Solr/Tomcat 整合
4.Solr集成Mysql
5.总结
1.系统环境介绍
本机系统:ubuntu 14.04 solr版本:4.10.2 tomcat版本:7.0 mysql版本 :5.5
2.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官网地址:http://lucene.apache.org/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中部署应用:
首先,将应用实例部署在tomcat目录中;
然后,添加相对应的jar包;
其次,修改tomcat和solr配置文件;
最后就是运行实例,如出现错误,查看log文件,逐步修改.
(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/solr sudo mkdir data sudo chmod a+w data sudo 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
添加下面内容:
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="/var/lib/tomcat7/webapps/solr.war" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/opt/solr/data" override="true" /> </Context>
重启tomcat7,solr.war将会解压一个solr目录,然后进行修改:
sudo service tomcat7 restart sudo gedit /var/lib/tomcat7/webapps/solr/WEB-INF/web.xml
修改/var/lib/tomcat7/webapps/solr/WEB-INF/web.xml将
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/put/your/solr/home/here</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
改为
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/opt/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
然后在浏览器中输入:
127.0.0.1:8080/solr就可以进入solr后台管理界面.
**注意事项**
在安装的时候,会出现问题,这个时候不要着急,先查看log文件,ubuntu上log文件存放在
/var/log中.一般情况下,log会将问题暴露.
4.Solr集成Mysql
solr相当于对lucene进行完整封装,因此其完成搜索功能也是同类思路:(1)建立索引(2)
进行搜索.因此这里准备对mysql进行搜索,将其作为数据源进行输入.
需要进行的操作:
下载Mysql-connection-java.jar 包
配置数据源
配置dataimport handler(DIH)
重启solr
(1)下载solr的mysql数据驱动包
乖乖的到官网下载
http://dev.mysql.com/downloads/connector/j/,可以选择最新版本(这里选择的是
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/conf sudo gedit mysql-data-config.xml
根据需要添加新内容:
<dataConfig> <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="用户名" password="密码"/> <document> <entity name="表名" transformer="HTMLStripTransformer" query="SELECT id, title, content FROM 表名"> <field column="id" name="id" /> <field column="title" name="title" /> <field column="content" name="content" stripHTML="true" /> </entity> </document> </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
添加如下代码:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">/opt/solr/collection1/conf/mysql-data-config.xml</str> </lst> </requestHandler>
(4)重启solr管理界面
选择实例 –> 添加DIH –>执行Execute
在安装solr和与mysql进行集成的时候,会出现一些问题,下面讲简单统计一些问题解决方法:
(1)SolrResourceLoader Can’t find (or read) directory to add to classloader: ../../../contrib/extraction/lib
查看:/article/7618602.html
(2) For security reasons, SolrResourceLoader cannot load files from outside the instance’s directory
查看: http://www.devnote.cn/article/237.html
(3)java.lang.ClassNotFoundException:org.apache.solr.handler.dataimport.DataImportHandler
查看:http://www.devnote.cn/article/87.html
总结:在进行安装的时候,首先要注意版本问题,版本不同可能会出现意想不到的错误;遇到出错时候,要先查看log日志,根据log搜找解决方案;现在使用mysql作为数据源,后续使用本地文件(如pdf,ppt,word等)作为数据源.
参考资料:
(1)点滴记录(里面记录很有价值)
/article/7618602.html
(2)solr中国
http://www.solr.cc/
(3)solr guide
https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide;jsessionid=268B85057ECFDE67C14AECB6BB864B09
(4)Devnote
http://www.devnote.cn/article/28.html
(5)solr入门
/article/8017642.html
相关文章推荐
- Ubuntu 14.04下安装solr 4.10以及集成Mysql方法
- ubuntu 安装mysql, 以及完全重新安装的方法
- ubuntu14.04下安装MySQL-server 以及MySQLdb模块
- 安装ubuntu以及mysql ,mysql-workbench遇见的一些问题及其解决方法
- 【Caffe】Caffe,CUDA,cuDNN安装指南,以及各种问题的解决方法(Ubuntu14.04)
- Ubuntu14.04 ROS Indigo安装,卸载方法 ,以及roscore运行错误解决
- solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)
- 小白式ubuntu14.04在安装anacoda后造成的路径错误问题以及后续问题处理方法
- ubuntu 安装mysql, 以及全然又一次安装的方法
- Ubuntu14.04 ROS Indigo安装教程,以及卸载方法
- fbcunn在Ubuntu 14.04下安装可能出现的问题以及解决方法
- 【转】Ubuntu 中软件的安装、卸载以及查看的方法总结
- 我对ubuntu系统的一些感想(常见的安装软件方法以及基本知识)
- Ubuntu,Mysql二进制安装流程以及常见错误
- Ubuntu MySQL以及Workbench安装
- Ubuntu 中软件的安装、卸载以及查看的方法总结
- ruby gem 本地安装方法以及在windows下添加mysql.gem
- linux下fedora 15 16安装mysql出错以及解决方法
- VMWare安装Ubuntu10.10 server版的NAT方式上网方法,以及apt-get使用公司代理安装程序的方法
- Ubuntu 中软件的安装、卸载以及查看的方法总结