程序员人生 网站导航

solr4.10.4 单机安装(并添加dataimport和中文分词器)

栏目:互联网时间:2015-04-23 07:43:41

安装环境的准备:

(这里直接给相干软件的版本号了)

  centos 6.4

apache-tomcat⑺.0.57

solr⑷.10.4

jdk1.7.0_75


jdk和tomcat这里就不给安装方式了,要是不会直接百度各种有。

具体步骤:

1.下载solr⑷.10.4,然后解压开我这里解压到  /usr/local/zip/solr⑷.10.4 中(安装目录1般我都会安装在/opt/web_app安装目录自己定义创建)

2.在/opt/web_app下创建solr_server/solr_data和solr_server/solr_home文件夹。

3.拷贝solr.war到solr_server/solr_data中,cp /usr/local/zip/solr⑷.10.4/dist/solr⑷.10.4.war /opt/web_app/solr_server/solr_data中,并修改名为solr.war

4.拷贝solr_home到solr_server/solr_home中,cp -r /usr/local/zip/solr⑷.10.4/example/solr/*  /opt/web_app/solr_server/solr_home中.

5.添加tomcat的支持:

<?xml version="1.0" encoding="UTF⑻"?> <Context docBase="/opt/web_app/solr_server/solr_data/solr" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/opt/web_app/solr_server/solr_home" override="true"/> </Context>

启动tomcat解压solr.war到tomcat/webapps 中

这时候候启动tomcat会报各种毛病但是控制台是看不见的,缘由是没有添加logs的支持。

6.添加日志的支持,

cp /usr/local/zip/solr⑷.10.4/example/resources/log4j.properties /opt/web_app/tomcat-solr⑻084/webapps/solr/WEB-INF/classes

cp /usr/local/zip/solr⑷.10.4/example/lib/ext/*/opt/web_app/tomcat-solr⑻084/webapps/solr/WEB-INF/lib

重启tomcat,看见控制台有日志输出了吧。


7.添加中文分词器:分词器种类很多这里以mmseg4j为列,分词器性能比较可以看http://www.hansight.com/blog-lucene4.10-with-chinese-segment.html

mmseg4j版本说明,不要下错了哦

  * mmseg4j-solr⑵.1.0.jar 要求 lucene/solr 4.8.x
* mmseg4j-solr⑵.2.0.jar 要求 lucene/solr [4.9, 4.10.x]
* mmseg4j-solr⑵.3.0.jar 要求 lucene/solr [5.0, ]

下载好jar导入到/opt/web_app/tomcat-solr⑻084/webapps/solr/WEB-INF/lib中

并在/opt/web_app/solr_server/solr_home/collection1/conf/schema.xml中添加以下代码:

<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="dic" /> </analyzer> </fieldtype>

重启tomcat,访问分词器是不是生效:


8.添加dataimport配置

导入相干jar文件,这里最好用最好用solr包自带的jar。这里的jar不是导入到tomcat中而是导入到solr_home中

(1)先在solr_server/solr_home/collection1中创建lib文件

(2)导入jar包 cp /usr/local/zip/solr⑷.10.4/dist/solr-dataimporthandler-*  /opt/web_app/solr_server/solr_home/collection1/lib 中

(3)修改/opt/web_app/solr_server/solr_home/collection1/conf/solrconfig.xml文件


<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>

拷贝/usr/local/zip/solr⑷.10.4/example/example-DIH/solr/db/conf/db-data-config.xml 文件并把名字修改成data-config.xml

(4)修改data-config.xml文件

<dataConfig> <dataSource type="JdbcDataSource" driver="Oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@ip/RACDB" user="xxx" password="xxx" /> <document> <entity name="id" query="select * from cargo"> <field column="ID" name="id"/> </entity> </document> </dataConfig>

重新启动tomcat测试dataimport功能是不是能用


如图成功,单机solr配置完成

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐