官网下载solr4.0:http://lucene.apache.org/solr/
mmseg4j分词下载:http://code.google.com/p/mmseg4j/downloads/list
词库下载:http://code.google.com/p/mmseg4j/downloads/detail?name=data.zip&can=2&q=
系统:centos 6.2(64位)
ip地址:192.168.1.124
tomcat:apache-tomcat-7.0.29
下载完成后就开始正式配置了
一.安装准备
调整系统参数
在/etc/sysctl.conf配置文件中增加如下内核参数
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 5
然后sysctl -p查看一下
附:net.ipv4.tcp_syncookies = 1参数在centos6.2中本身就有,所以我没有加,没有的可自己手动填上
二.安装及配置过程
1.安装tomcat
不做演示,详情见:http://5142926.blog.51cto.com/5132926/960900
修改tomcat配置文件/conf/server.xml
<Connector port="8093" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8" />
附:即填上utp-8防止中文乱码
2.安装配置solr
(1).解压下载的apache-solr-4.0.0,在他的dist目录下有个文件叫做apache-solr-4.0.0.war,将这个文件拷贝到tomcat的webapps/目录下,并重命名为solr.war
(2).新建/opt/solr-tomcat/solr文件夹,把下载的solr包中的example/solr文件夹下面的所有文件放入到 /opt/solr-tomcat/solr里面
(3).1) 最后一步 配置添加solr.home环境变量,可以有二种方式(两种取其一即可):
a)基于环境变量
linux在当前用户的环境变量中(.bash_profile)或在./bin/catalina.sh中添加如下环境变量:
export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr-tomcat/solr"
b)基于JNDI
在tomcat的conf文件夹建立Catalina文件夹,然后在Catalina文件夹中在建立localhost文件夹,在该文件夹下面建立 solr.xml,Xml:
<Context docBase="/usr/local/tomcat/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/opt/solr-tomcat/solr" override="true" />
</Context>
附:以上路径都要相互对应
(4).验证安装
访问http:192.168.1.124:8093/solr
附:tomcat默认端口8080,当然我这里改成了8093,大家注意一下
三.中文分词配置
1.将下载到的mmseg4j-1.9.0.v20120712-SNAPSHOT.zip解压,将其目录下的mmseg4j-all-1.9.0.v20120712-SNAPSHOT.jar拷贝到tomcat中webapps/solr/WEB-INF/lib中
2.在/opt/solr-tomcat/solr目录下新建dic文件夹,将解压后的data目录下的words.dic拷贝到/opt/solr-tomcat/solr/dic目录下
3.更改schema.xml(/opt/solr-tomcat/solr/collection1/conf)文件,使分词器起到作用
<types>
……
<!--mmseg4j field types-->
<fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/opt/solr-tomcat/solr/dic"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="/opt/solr-tomcat/solr/dic"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="/opt/solr-tomcat/solr/dic"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
……
</types>
<fields>
……
<field name="simple" type="textSimple" indexed="true" stored="true" multiValued="true"/>
<field name="complex" type="textComplex" indexed="true" stored="true" multiValued="true"/>
<field name="text" type="textMaxWord" indexed="true" stored="true" multiValued="true"/>
……
</fields>
<copyField source="simple" dest="text"/>
<copyField source="complex" dest="text"/>
附:dicPath="/opt/solr-tomcat/solr/dic"是你自己的词库路径
4.重启tomcat
访问http:192.168.1.124:8093/solr
点击下方的collection1,其中有个analysis,点击,如下图
在Field Value (Index)中随便输入几行汉字,类型选择complex进行解析
至此,完工,关联分布式还在探索ing,后续......