关于Linux下利用Tomcat部署Solr

来源:互联网 发布:easyui源码解析 编辑:程序博客网 时间:2024/06/13 12:27

1.上传所需文件并解压

-rw-r--r--. 1 root root 7.9M Apr  4 18:17 apache-tomcat-7.0.47.tar.gz
-rw-r--r--. 1 root root 2.1M Apr  4 18:17 IKAnalyzer2012FF_hf1.zip
-rw-r--r--. 1 root root 144M Apr  4 18:17 solr-4.10.3.tar


2.Solr运行所需jar包添加至Tomcat的lib目录下

-rw-r--r--. 1 root root  17K Feb  6  2014 jcl-over-slf4j-1.7.6.jar
-rw-r--r--. 1 root root 4.9K Feb  6  2014 jul-to-slf4j-1.7.6.jar
-rw-r--r--. 1 root root 479K May 26  2012 log4j-1.2.17.jar
-rw-r--r--. 1 root root  29K Feb  6  2014 slf4j-api-1.7.6.jar
-rw-r--r--. 1 root root 8.7K Feb  6  2014 slf4j-log4j12-1.7.6.jar


[root@hostname solr-4.10.3]# cp ./example/lib/ext/* ../apache-tomcat-7.0.47/lib/


3.添加Solr.war至tomcat的webapps下

[root@hostname solr]# cp ./solr-4.10.3/example/webapps/solr.war ./apache-tomcat-7.0.47/webapps/


4.配置SolrHome,将Solr中的SolrHome复制

[root@hostname solr-4.10.3]# cp -r ./example/solr ../home 


5.解压war包并修改web.xml中SolrHome的配置

 <!-- -->
    <env-entry>
        <env-entry-name>solr/home</env-entry-name>
        <env-entry-value>/usr/local/solr/home</env-entry-value>
        <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>


6.配置log4j日志信息

在WEB-INf下创建classes文件夹并将log4j配置文件放入

[root@hostname WEB-INF]# mkdir classes

[root@hostname ~]# mv log4j.properties /usr/local/solr/apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes/

7.启动Tomcat并查看日志

[root@hostname apache-tomcat-7.0.47]# tail -f logs/catalina.out


2374 [localhost-startStop-1] INFO  org.apache.solr.servlet.SolrDispatchFilter  – user.dir=/usr/local/solr/apache-tomcat-7.0.47/bin
2374 [localhost-startStop-1] INFO  org.apache.solr.servlet.SolrDispatchFilter  – SolrDispatchFilter.init() done
Apr 04, 2017 8:17:56 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/solr/apache-tomcat-7.0.47/webapps/host-manager
Apr 04, 2017 8:17:56 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Apr 04, 2017 8:17:56 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Apr 04, 2017 8:17:56 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6759 ms


8.配置IK分词器

将IK使用jar包复制Solr的web项目的lib中

[root@hostname IK]# cp IKAnalyzer2012FF_u1.jar ../apache-tomcat-7.0.47/webapps/solr/WEB-INF/lib/

将IK核心配置文件,停用词典 复制到classes目录下

[root@hostname IK]# cp IKAnalyzer.cfg.xml ../apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes/

[root@hostname IK]# cp stopword.dic ../apache-tomcat-7.0.47/webapps/solr/WEB-INF/classes/ 

修改核心配置文件,配置扩展词典和停用词典

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 
        <entry key="ext_dict">ext.dic;</entry> 
        -->
        <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords">stopword.dic;</entry>
</properties>

创建扩展词典文件(词典定义方式与停用词典相同)

[root@hostname classes]# touch ext.dic

利用Notepad++连接编辑Linux中文本文件

下载NppFTP插件(若有即直接使用)

显示插件页面

添加连接


建立连接

9.在SolrHome对应的collection中使用IK分词器

修改collection中的schema.xml文件

<!-- 自定义的数据类型 支持IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

 <!--自定义字段 name_ik 网站查询的关键词字段,应用IK分词器 -->

<field name="name_ik" type="text_ik" indexed="true" stored="true" />

10.启动并测试

0 0