安装环境的准备:
(这里直接给相关软件的版本号了)
centos 6.4
apache-tomcat-7.0.57
solr-4.10.4
jdk1.7.0_75
jdk和tomcat这里就不给安装方式了,要是不会直接百度各种有。
具体步骤:
1.下载solr-4.10.4,然后解压开我这里解压到 /usr/local/zip/solr-4.10.4 中(安装目录一般我都会安装在/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-4.10.4/dist/solr-4.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-4.10.4/example/solr/* /opt/web_app/solr_server/solr_home中.
5.添加tomcat的支持:
<?xml version="1.0" encoding="UTF-8"?> <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-4.10.4/example/resources/log4j.properties /opt/web_app/tomcat-solr-8084/webapps/solr/WEB-INF/classes
cp /usr/local/zip/solr-4.10.4/example/lib/ext/*/opt/web_app/tomcat-solr-8084/webapps/solr/WEB-INF/lib
重启tomcat,看见控制台有日志输出了吧。
7.添加中文分词器:分词器种类很多这里以mmseg4j为列,分词器性能比较可以看http://www.hansight.com/blog-lucene4.10-with-chinese-segment.html
mmseg4j版本说明,不要下错了哦
* mmseg4j-solr-2.1.0.jar 要求 lucene/solr 4.8.x
* mmseg4j-solr-2.2.0.jar 要求 lucene/solr [4.9, 4.10.x]
* mmseg4j-solr-2.3.0.jar 要求 lucene/solr [5.0, ]
下载好jar导入到/opt/web_app/tomcat-solr-8084/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-4.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-4.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配置完成