1,solr的简介
Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引 。Solr搜索只需要发送 HTTP GET 请求,然后对 Solr返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI
的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
2,Solr 全文检索服务 :
3,Solr与Lucene的区别:
Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。
Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。
4,Solr安装配置
4.1,下载solr官网: http://lucene.apache.org/solr/ 下载Tomcat:http://tomcat.apache.org/
4.2,在/usr/local/目录下创建一个solr目录;并在 mkdir /usr/local/solr/目录下创建solrhome目录
## 用于solr
mkdir /usr/local/solr
## 用于存放核心库
mkdir /usr/local/solr/solrhome
4.3,解压solr和tomcat
4.3.1,解压solr到/usr/local/目录下
tar -zxvf /usr/local/software/solr-4.10.3.tgz.tar -C /usr/local
4.3.2,解压tomcat到/usr/local/solr目录下 并重命名为tomcat
## 解压
tar -zxvf /usr/local/software/apache-tomcat-8.0.53.tar.gz -C /usr/local/solr
## 重命名
mv /usr/local/solr/apache-tomcat-8.0.53 /usr/local/solr/tomcat
4.4,复制/usr/local/solr-4.10.3/example/webapps/solr.war到/usr/local/solr/tomcat/webapps/目录下
cp /usr/local/solr-4.10.3/example/webapps/solr.war /usr/local/solr/tomcat/webapps/
4.5,复制核心库到/usr/local/solr/solrhome目录
## 复制核心库到指定目录
cp -r /usr/local/solr-4.10.3/example/solr /usr/local/solr/solrhome
4.6,编辑solr的web.xml文件
4.6.1,解压 /usr/local/solr/tomcat/webapps/solr.war
unzip /usr/local/solr/tomcat/webapps/solr.war -d /usr/local/solr/tomcat/webapps/solr
4.6.2,复制 /usr/local/solr-4.10.3/example/lib/ext/下jar到/usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
cp -r /usr/local/solr-4.10.3/example/lib/ext/* /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
4.6.3,编辑/usr/local/solr/tomcat/webapps/solr/WEB-INF/web.xml文件
<!-- 添加内容-->
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<!-- 指定核心库目录-->
<env-entry-value>/usr/local/solr/solrhome/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
4.7,启动Tomcat,访问solr
4.7.1, 启动Tomcat
## 启动tomcat
/usr/local/solr/tomcat/bin/startup.sh
4.7.2,访问solr
http://ip:port/solr
4.7.3,能够访问solr,则安装成功。
solr安装成功。。。。。。
5,配置中文分词器:
5.1,下载中文分词器 IK Analyzer 2012FF_hf1.zip
5.2,解压IK Analyzer 2012FF_hf1.zip,复制文件到solr
5.2.1,复制: IKAnalyzer2012FF_u1.jar至/usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
5.2.2,在/usr/local/solr/tomcat/webapps/solr/WEB-INF/下创建classes目录
mkdir /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
5.2.3,复制:IKAnalyzer.cfg.xml文件和stopword.dic文件到/usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/
5.3,配置中文分词器
vim /usr/local/solrhome/solr/collection1/conf/schema.xml
添加内容
<!-- 中文分词器-->
<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>
5.4,可以添加自己扩展的词汇:
5.4.1,编辑: /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml
vim /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml
添加内容:
<!--添加内容-->
<entry key="ext_dict">ext.dic;</entry>
5.4.2,在 /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/下新建ext.dic文件
在文件中随便定义分词。。。。
中文分词器配置完成。。。。。。