linux下安装部署solr5.4.0详细记录
来源:互联网 发布:js发post请求 ajax 编辑:程序博客网 时间:2024/06/05 01:19
最近项目中需要用到搜索,之前没接触过,于是四方打听,得知solr是一个非常不错的选择,经过反复研究,终于入门了点 ,为了加深理解,有些地方我将命令也记录了下来。由于很少写博客,加上资历不深,所以,不足之处,望谅解!
注意:本文中的tomcat7所在目录为/home/developer/目录下
1、官网下载solr-5.4.0.tgz并上传到linux服务上
2、新建一个solr5目录解压
解压之后的solr5.4.0文件夹包含了几乎所有你需要的东西。解压命令如下:
tar xvfz solr-5.4.0.tgz
3、复制solr-5.4.0/server/solr-webapp/webapp到tomcat下的webapps目录下,改名为solr。
cp -r /home/developer/solr5/solr-5.4.0/server/solr-webapp/webapp /home/developer/tomcat7/webapps/mv webapp solr
4、将solr-5.4.0/server/lib/ext/目录下的所有jar包复制到tomcat/webapps/solr/WEB-INF/lib/下
cp -r /home/developer/solr5/solr-5.4.0/server/lib/ext/* /home/developer/tomcat7/webapps/solr/WEB-INF/lib/
5、将solr-5.4.0/server/solr目录复制到tomcat目录下并重命名为solr_home(存放检索数据)
cp -r /home/developer/solr5/solr-5.4.0/server/solr/ /home/developer/tomcat7/mv solr solrhome
6、将solr-5.4.0/server/resouce下的log4j.properties文件复制到tomcat/weapps/solr/WEB-INF/classes目录下,如果没有则新建
cp /home/developer/solr5/solr-5.4.0/server/resources/log4j.properties /home/developer/tomcat7/webapps/solr/WEB-INF/classes/
7、将solr-5.4.0/dist目录下的solr-dataimporthandler-5.4.0.jar和solr-dataimporthandler-extras-5.4.0.jar复制到tomcat/webapps/solr/WEB-INF/lib/下,这个是为了以后导入数据库表数据
cp /home/developer/solr5/solr-5.4.0/dist/solr-dataimporthandler-5.4.0.jar /home/developer/tomcat7/webapps/solr/WEB-INF/lib/ cp /home/developer/solr5/solr-5.4.0/dist/solr-dataimporthandler-extras-5.4.0.jar /home/developer/tomcat7/webapps/solr/WEB-INF/lib/
到这里,solr5的环境就搭建好了,重启tomcat服务,访问http://192.168.30.9:8080/solr/index.html可以看到solr控制台
下一步就是添加core了
8、在tomcat/solrhome/目录下创建core_activity(可以自定义),在其目录下创建data文件夹,并将tomcat7/solrhome/configsets/basic_configs/目录下的conf文件夹复制到core_activity下,core就创建完成了,然后在solr控制台添加core_activity就好了
mkdir core_activity,注意要把真个conf文件夹都拷贝过去,否则请往下看15条
cp -r /home/developer/tomcat7/solrhome/configsets/basic_configs/conf/ /home/developer/tomcat7/solrhome/core_activity
导入数据库表数据
9、首先把mysql的驱动包mysql-connector-java-5.1.21.jar 放到/home/developer/tomcat7/lib/下
10、修改位于tomcat7/solrhome/core_activity下的solrconfig.xml ,加入如下内容
<requestHandler name="/dataimport" class="solr.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
11、在 solrconfig.xml的同级目录中,增加data-config.xml,在其中定义数据源,定义实体类
<?xml version="1.0" encoding="UTF-8" ?><dataConfig><dataSource name="solrDB" type="JdbcDataSource" driver="com.mysql.jdbc.Driver"url="jdbc:mysql://192.168.30.17:3306/quncao_app_beta" user="quncao" password="quncao"/><document> <entity pk="ID" dataSource="solrDB" name="tb_activity" query="select id,title,city_id from tb_activity" deltaQuery="select ID from tb_activity where update_time>'${dih.last_index_time}'" deltaImportQuery="select ID,title,cityId from tb_activity where ID='${dih.delta.id}'"> <field column="ID" name="id"/> <field column="TITLE" name="title"/> <field column="CITY_ID" name="cityId"/> <field column="UPDATE_TIME" name="update_time"/> </entity></document>om</dataConfig>
12、修改Scheme.xml,在其中添加data-config.xml中定义的field信息(如果已存在就不需,本例中除id外,都需定义)
<field name="title" type="textMaxWord" indexed="true" stored="true"/><field name="cityId" type="int" indexed="true" stored="true"/><field name="update_time" type="date" indexed="true" stored="true"/>
13、其中title的类型为textMaxWord ,这个是mmesg4j分词,那么这时候需要再引入两个jar包
mmseg4j-core-1.10.1-SNAPSHOT.jar和mmseg4j-solr-2.3.1-SNAPSHOT.jar
<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer></fieldtype><fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" /> </analyzer></fieldtype><fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/custom/path/to/my_dic" /> </analyzer></fieldtype>
14、在solrconfig.xml同级目录中新建dataimport.properties,添加如下内容
last_index_time=2016-01-20 15:29:07
tb_activity.last_index_time=2016-01-20 15:29:07
15、操作完毕后碰到一个异常
Properties is not writable. Delta imports are supported by data config but will not work.
我认为是文件读写权限的问题,经过反复观察,我发现是少建了一级目录,应该在tomcat7/solrhome/core_activity下建一个conf目录,把所有的配置文件都放进去
16、15、增量更新索引地址:
http://192.168.30.9:8080/solr/core_activity/dataimport?command=delta-import
由于其自带的定时更新没有研究出来,暂时采用通过spring定时器或者linux的定时任务执行。
- linux下安装部署solr5.4.0详细记录
- Solr5.4.0部署到Tomcat目录下
- CentOS6.5下Tomcat部署Solr5.4.0
- ubuntu15.04下安装部署Solr5.1.0(基础)
- ubuntu15.04下安装部署Solr5.1.0(结构介绍)
- solr5.0 tomcat安装部署
- solr5.5 安装部署过程
- Solr5.5.4在linux centOS(6.8)下的安装
- linux下weblogic安装并部署项目,图文详细
- solr5.4.0安装启动
- CentOS下安装Solr5.5
- linux下最新版本Hadoop安装部署全过程记录
- Solr5.5集群安装部署及使用
- linux和window部署solr5.3.1
- 记录 linux 下 部署 tomcat
- Windows7 下安装 Tomcat + Solr5.2
- solr5.2.1的在tomcat下的安装(Linux和Windows都可以)
- linux安装elasticsearch部署配置详细说明
- ASP网站项目编译
- Swift学习之路05-类和结构体
- Nodejs运行项目时的错误:<jsdom><CL.exe><clui.dll>解决方法
- Android常用jar包中 StringUtils的说明
- thinkphp读取配置文件中的数据
- linux下安装部署solr5.4.0详细记录
- Python libvirt
- FOJ Problem 1062 洗牌问题
- 日期date型 与string型简单汇总:
- C#中static类型的变量和方法
- OJ 系列之24点游戏算法
- iOS真机调试时“process launch failed: timed out waiting for app to launch”问题
- zookeeper(三) 应用场景
- makefile "="和“:=”的区别