目录:
1. Solr:solr-4.4.0
2. jdk:jdk-6u13-linux-i586 (由于solr采用4.4版本,所以jdk最低版本要求1.6)
3. tomcat:apache-tomcat-7.0.42.tar
4. 中文分词: IK Analyzer 2012FF_hf1
安装jdk及tomcat过程
其中需要配置tomcat最大链接数,可参考:
<Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxThreads="1000" minSpareThreads="100" maxSpareThreads="200" acceptCount="1000" URIEncoding="UTF-8"/>
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout: 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
安装solr
--------------------------------
第一步:测试环境
服务器1(Master)
操作系统: Centos 6.2
IP: 192.168.17.128:9080
JDK: Sun JDK 1.6
Web服务器: Apache Tomcat6
Solr版本: Solr4.4.0
服务器2(Slave)
操作系统: Centos 6.2
IP: 192.168.17.128:9081
JDK: Sun JDK 1.6
Web服务器: Apache Tomcat6
Solr版本: Solr4.4.0
--------------------------------
1. 拷贝solr.war到tomcat目录
#cp -rf solr-4.4.0/example/webapps/solr.war /usr/local/apache-tomcat-7.0.42/webapps/solr.war
2. 创建solr工作主目录
[root@demoserver ~]# mkdir -p /home/solr/master/solr4server
[root@demoserver ~]# mkdir -p /home/solr/master/solr4home
[root@demoserver ~]# mkdir -p /home/solr/slave/solr4server
[root@demoserver ~]# mkdir -p /home/solr/slave/solr4home
[root@demoserver solr]# pwd
/home/solr
[root@demoserver solr]# ll
total 16
drwxr-xr-x. 2 root root 4096 Jan 27 20:14 solr4home
drwxr-xr-x. 2 root root 4096 Jan 27 20:15 solr4home
drwxr-xr-x. 2 root root 4096 Jan 27 20:14 solr4server
drwxr-xr-x. 2 root root 4096 Jan 27 20:15 solr4server
[root@demoserver solr]# cp -a . /home/solr/master/solr4home/
[root@demoserver solr]# cp -a . /home/solr/slave/solr4home/
[root@demoserver local]# cd tomcat/
[root@demoserver tomcat]# ll
total 88
drwxr-xr-x. 2 root root 4096 Jan 27 01:35 bin
drwxr-xr-x. 3 root root 4096 Jan 27 04:51 conf
drwxr-xr-x. 2 root root 4096 Jan 27 01:35 lib
-rw-r--r--. 1 root root 37951 Jan 27 01:35 LICENSE
drwxr-xr-x. 2 root root 4096 Jan 27 04:51 logs
-rw-r--r--. 1 root root 556 Jan 27 01:35 NOTICE
-rw-r--r--. 1 root root 7317 Jan 27 01:35 RELEASE-NOTES
-rw-r--r--. 1 root root 6368 Jan 27 01:35 RUNNING.txt
drwxr-xr-x. 2 root root 4096 Jan 27 01:35 temp
drwxr-xr-x. 7 root root 4096 Jan 27 01:35 webapps
drwxr-xr-x. 3 root root 4096 Jan 27 04:51 work
[root@demoserver tomcat]# cp -R . /home/solr/master/solr4server/
3. 配置solrhome
[root@demoserver bin]# vi /home/solr/master/solr4server_master/bin/catalina.sh
# -----------------------------------------------------------------------------
# configure at 2014/2/14 at in catalina.sh
export JAVA_HOME=/usr/local/jdk
export SOLR_HOME=/home/solr/master
export JAVA_OPTS="$JAVA_OPTS -server -Xmx1024m -Xms512m -Dsolr.solr.home=$SOLR_HOME/solr4home/"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$SOLR_HOME/solr4server
export CATALINA_BASE=$SOLR_HOME/solr4server
3. 拷贝solr启动的依赖文件
* 复制example/lib/ext目录中的jar包到项目的classpath下,可以将这些jar包放到%TOMCAT_HOME%/lib下,
也可以将它们放到项目的lib下(在我的电脑上是/webapps/solr/WEB-INF/lib);
* example/resources/log4j.properties也拷到classpath(我在/solr_server/webapps/solr/目录下新建了一个classes目录,
放log4j.properties放了进去);
4. 配置好后可以直接启动tomcat
[root@demoserver bin]# pwd
/home/solr/master/solr4server/bin
[root@demoserver bin]# ./startup.sh
5. 如果第三步没有执行这时会无法访问,solr4.4.0需要拷贝一些jar
# cp solr-4.4.0/example/lib/ext/* /usr/local/apache-tomcat-7.0.42/webapps/solr/WEB-INF/lib/
# cp solr-4.4.0/example/resources/log4j.properties /usr/local/apache-tomcat-7.0.42/lib/
6. 重启tomcat,访问URL http://10.248.12.135:9080/solr
http://blog.csdn.net/natureice/article/details/9109351export JAVA_HOME=/usr/java/jdk1.6.0_38
export SOLR_HOME=/usr/local/solr/solr1
export JAVA_OPTS="$JAVA_OPTS -server -Xmx1024m -Xms512m -Dsolr.solr.home=$SOLR_HOME/solrhome/"
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$SOLR_HOME/tomcat
export CATALINA_BASE=$SOLR_HOME/tomcat
7.查看启动过日志
错误信息 :
INFO - 2014-02-16 11:50:04.751; org.apache.solr.handler.component.QueryElevationComponent; Loading QueryElevation from: /home/solr/master/solr4home/collection1/conf/elevate.xml
Feb 16, 2014 11:50:10 AM org.apache.catalina.connector.Connector pause
SEVERE: Protocol handler pause failed
java.net.UnknownHostException: demoserver: demoserver
at java.net.InetAddress.getLocalHost(InetAddress.java:1402)
at org.apache.jk.common.ChannelSocket.unLockSocket(ChannelSocket.java:485)
at org.apache.jk.common.ChannelSocket.pause(ChannelSocket.java:284)
at org.apache.jk.server.JkMain.pause(JkMain.java:683)
at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153)
at org.apache.catalina.connector.Connector.pause(Connector.java:1073)
at org.apache.catalina.core.StandardService.stop(StandardService.java:563)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:633)
at org.apache.catalina.startup.Catalina.start(Catalina.java:608)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Feb 16, 2014 11:50:11 AM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
解决方案:
That is related with
hostname
and
/etc/hosts
If /etc/hosts doesn‘t containt the definition of the hostname it fails.
Just add your hostname to /etc/hosts for example
if your hostname is work add or modified the following line:
127.0.0.1 work localhost
通过以上配置后ok。
访问solr服务
http://192.168.17.128:9080/solr/#/

中文分词IK Analyzer 2012FF_hf1配置与安装
1. 下载IK+Analyzer+2012FF_hf1.zip分词的安装包
用到其中三个文件:
IKAnalyzer2012FF_u1.jar,放到$CATALINA_HOME/webapps/solr/WEB-INF/lib/目录下
IKAnalyzer.cfg.xml,stopword.dic,放到$CATALINA_HOME/webapps/solr/WEB-INF/classes/目录下,
如果classes目录没有,可以手动创建一个。
2.将分词配置到solr的配置文件中
#vi /usr/local/solrhome/collection1/conf/schema.xml,添加如下内容:
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
3.将需要建立索引的域添加到schema.xml中
<!-- self define field -->
<field name="wareCode" type="string" indexed="true" stored="true"/>
<field name="wareName" type="text_ik" indexed="true" stored="true"/>
<field name="wareStatus" type="string" indexed="true" stored="true"/>
<field name="openDate" type="date" indexed="true" stored="true"/>
<field name="shopPrice" type="string" indexed="true" stored="true"/>
<field name="marketPrice" type="string" indexed="true" stored="true"/>
<field name="deliverType" type="string" indexed="true" stored="true"/>
<field name="wareIntegralValue" type="long" indexed="true" stored="true"/>
<field name="gCurValue" type="long" indexed="true" stored="true"/>
<field name="mCurValue" type="long" indexed="true" stored="true"/>
<field name="eCurValue" type="long" indexed="true" stored="true"/>
<field name="isHtmlChannel" type="string" indexed="true" stored="true"/>
<field name="isWapChannel" type="string" indexed="true" stored="true"/>
<field name="isSearch" type="string" indexed="true" stored="true"/>
<field name="sKind" type="long" indexed="true" stored="true"/>
<field name="sName" type="string" indexed="true" stored="true"/>
<field name="mKind" type="long" indexed="true" stored="true"/>
<field name="mName" type="string" indexed="true" stored="true"/>
4.最后重启tomcat,查看分词效果

参考资料: http://www.oschina.net/search?scope=project&q=solrsolr学习第二课----solr安装部署
原文:http://blog.csdn.net/shenfuli/article/details/19284403