简介:
它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。您可以坚持使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。Solr 还拥有一个活跃的开发者群体,如有需要,您可以随时向他们寻求帮助。
先决条件:
1.JDK1.6及以上版本(本例版本1.7.0_80)
2.ant1.8及以上版本(本例版本1.9.6)
3.tomcat7及以上版本(本例版本7.0.64)
4.apache solr4.10.4
5.IK Analyer 2012-FF hotfix 1完整分发包(sha256sum:f9577ff396e26890d031f39fa56fe44e53e4ee095155483ef062bf6c6eeff19d IK Analyzer 2012FF_hf1.zip)
安装:
1.JDK安装
将下载好的压缩包直接解压并重命名为:/usr/local/java
做java软链接:ln -s /usr/local/java/bin/java /usr/local/bin
2.ant安装
将下载好的ant解压并重命名:/usr/local/ant
做ant软连接:ln -s /usr/local/ant/bin/ant /usr/local/bin
3.tomcat安装
将下载好的tomcat解压并重命名:/usr/local/tomcat7
4.solr安装
将下载好的solr解压到/usr/local/src目录下
复制solr.jar到tomcat目录下
#cp /usr/local/src/solr-4.10.4/example/webapps/solr.war /usr/local/tomcat7/webapps/
复制solr源目录下的jar到tomcat目录
#cp /usr/local/src/solr-4.10.4/example/lib/ext/*.jar /usr/local/tomcat7/webapps/solr/WEB-INF/lib/
配置solr web.xml文件,大概40行左右,将取消注释,并修改solr源目录
# vim /usr/local/tomcat7/webapps/solr/WEB-INF/web.xml
40 <env-entry> 41 <env-entry-name>solr/home</env-entry-name> 42 <env-entry-value>/usr/local/src/solr-4.10.4/example/solr</env-e ntry-value> 43 <env-entry-type>java.lang.String</env-entry-type> 44 </env-entry>
5.IK分词配置
下载IK分词https://code.google.com/p/ik-analyzer/downloads/detail?name=IK%20Analyzer%202012FF_hf1.zip&can=2&q=
将下载的IK分词解,将解压后的文件IKAnalyzer2012FF_u1.jar复制到WEB-INF/lib下
#cp /usr/local/src/IK/IKAnalyzer2012FF_u1.jar /usr/local/tomcat7/webapps/solr/WEB-INF/lib/
将IKAnalyzer.cfg.xml、stopword.dic 复制到 WEB-INF/classes下,没有 则创建
#mkdir /usr/local/tomcat7/webapps/solr/WEB-INF/classes
IK#cp IKAnalyzer.cfg.xml stopword.dic /usr/local/tomcat7/webapps/solr/WEB-INF/classes
6.修改collection1/conf/schema.xml 此文件在solr源目录下
vim /usr/local/src/solr-4.10.4/example/solr/collection1/conf/schema.xml
在第一段中加入如下代码(注 之前加错位置,页面一直报错,直到找到这篇文章http://blog.csdn.net/wuzhilon88/article/details/42675573):
112 <fieldType name="text_ik" class="solr.TextField"> 113 <analyzer type="index" isMaxWordLength="false" class="org.wltea.ana lyzer.lucene.IKAnalyzer"/> 114 <analyzer type="query" isMaxWordLength="true" class="org.wltea.anal yzer.lucene.IKAnalyzer"/> 115 </fieldType>
在修改type字段
136 <field name="sku" type="text_en_splitting_tight" indexed="true" stored=" true" omitNorms="true"/> 137 <field name="name" type="text_ik" indexed="true" stored="true"/> 138 <field name="manu" type="text_ik" indexed="true" stored="true" omitNorms ="true"/>
IK分词前后对比效果图
配置IK分词前
配置IK分词后