文档章节

7步从零开始搭建一个SOLR支持中文分词【solr3.3】

abcijkxyz
 abcijkxyz
发布于 2016/07/08 16:31
字数 499
阅读 2
收藏 0

下载如下三个软件【请注意版本】

1:Solr的下载地址
http://labs.renren.com/apache-mirror//lucene/solr/3.3.0/apache-solr-3.3.0.zip 【使用 D:\solr\apache-solr-3.3.0\example\solr文件夹里的内容】
2:Tomcat的下载地址
http://apache.etoak.com/tomcat/tomcat-6/v6.0.33/bin/apache-tomcat-6.0.33.tar.gz 【使用其运行JAVA WEB】
3:IKAnalyzer下载地址
http://ik-analyzer.googlecode.com/files/IKAnalyzer3.2.8%20bin.zip 【只使用其IKAnalyzer3.2.5Stable.jar】

提前是安装好JDK1.6+,并将每个软件解压到 /sinykk 里


1、将TOMCAT解压到 /usr/local/apache-tomcat-6.0.33/ 

2、将 /solr/apache-solr-3.3.0/example/solr 文件拷贝到 /usr/local/apache-tomcat-6.0.33/

3、然后修改TOMCAT的/usr/local/apache-tomcat-6.0.33/conf/server.xml【增加中文支持】

Xml代码   收藏代码
  1. <Connector port="8983" protocol="HTTP/1.1"   
  2.               connectionTimeout="20000"   
  3.               redirectPort="8443" URIEncoding="UTF-8"/>  

 

 4、添加文件 /usr/local/apache-tomcat-6.0.33/conf/Catalina/localhost/solr.xml 内容如下

 

 

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context docBase="/usr/local/apache-tomcat-6.0.33/webapps/solr" debug="0" crossContext="true" >  
  3.    <Environment name="solr/home" type="java.lang.String" value="/usr/local/apache-tomcat-6.0.33/solr" override="true" />  
  4. </Context>  
 

5、将/sinykk/solr/apache-solr-3.3.0/example/webapps/solr.war文件放到/usr/local/apache-tomcat-6.0.33/webapps文件夹下,并启动TOMCAT

6、将/sinykk/solr/IKAnalyzer3.2.8.jar 文件放到/usr/local/apache-tomcat-6.0.33/webapps/solr/WEB-INF/lib 目录下


7、修改/usr/local/apache-tomcat-6.0.33/solr/conf/schema.xml文件为

 

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <schema name="example" version="1.4">  
  3.  <types>  
  4.     <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>  
  5.      <!--   
  6.     <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">  
  7.       <analyzer type="index">  
  8.         <tokenizer class="solr.StandardTokenizerFactory"/>  
  9.         <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />  
  10.         <filter class="solr.LowerCaseFilterFactory"/>  
  11.       </analyzer>  
  12.       <analyzer type="query">  
  13.         <tokenizer class="solr.StandardTokenizerFactory"/>  
  14.         <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />  
  15.         <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>  
  16.         <filter class="solr.LowerCaseFilterFactory"/>  
  17.       </analyzer>  
  18.     </fieldType>  
  19.     -->  
  20.   
  21.      <fieldType name="textik" class="solr.TextField" >  
  22.                <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>    
  23.          
  24.                <analyzer type="index">    
  25.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  26.                    <filter class="solr.StopFilterFactory"    
  27.                            ignoreCase="true" words="stopwords.txt"/>    
  28.                    <filter class="solr.WordDelimiterFilterFactory"    
  29.                            generateWordParts="1"    
  30.                            generateNumberParts="1"    
  31.                            catenateWords="1"    
  32.                            catenateNumbers="1"    
  33.                            catenateAll="0"    
  34.                            splitOnCaseChange="1"/>    
  35.                    <filter class="solr.LowerCaseFilterFactory"/>    
  36.                    <filter class="solr.EnglishPorterFilterFactory"    
  37.                        protected="protwords.txt"/>    
  38.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  39.                </analyzer>    
  40.                 <analyzer type="query">    
  41.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  42.                    <filter class="solr.StopFilterFactory"    
  43.                            ignoreCase="true" words="stopwords.txt"/>    
  44.                    <filter class="solr.WordDelimiterFilterFactory"    
  45.                            generateWordParts="1"    
  46.                            generateNumberParts="1"    
  47.                            catenateWords="1"    
  48.                            catenateNumbers="1"    
  49.                            catenateAll="0"    
  50.                            splitOnCaseChange="1"/>    
  51.                    <filter class="solr.LowerCaseFilterFactory"/>    
  52.                    <filter class="solr.EnglishPorterFilterFactory"    
  53.                        protected="protwords.txt"/>    
  54.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  55.                </analyzer>    
  56.          
  57. </fieldType>  
  58.  </types>  
  59.   
  60.   
  61.  <fields>  
  62.   <field name="id" type="string" indexed="true" stored="true" required="true" />   
  63.  </fields>  
  64.   
  65.  <uniqueKey>id</uniqueKey>  
  66.   
  67. </schema>  

 

 

最后运行http://192.168.171.129:8983/solr/admin/analysis.jsp

效果图如下

 


 

本文转载自:http://blog.csdn.net/yuwenruli/article/details/8426982

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
Solr环境搭建及IK分词的集成及solrJ的调用(二)

看上一篇请移步到这里:http://my.oschina.net/zimingforever/blog/120732 Solr环境搭建及IK分词的集成及solrJ的调用(一) 这里首先介绍如何做分词,首先solr并没有加入中文分词在里面,所以...

王小明123
2013/04/08
0
5
Solr环境搭建及IK分词的集成及solrJ的调用(一)

项目需要,最近在做使用solr进行搜索的项目。 solr是一个基于lucene的java开发的搜索服务器,简单点说solr是一个已经完成的war包,直接部署起来即可。 solr的安装比较简单,但是第一次使用,...

王小明123
2013/04/08
0
0
大数据下精确快速搜索OpenSearch

相信做过一两个项目的人都会遇到上级要求做一个类似百度或者谷歌的站内搜索功能。传统的sql查询只能使用like 或者FIND_IN_SET来实现、后者性能稍微好点但是必须要逗号分隔才可以实现匹配、甚...

小柒2012
2014/10/11
1K
1
m631521383/IKAnalyzer2017_6_6_0

IKAnalyzer201766_0 码云:https://git.oschina.net/iicode/IKAnalyzer2017660 Github:https://github.com/ittalks/IKAnalyzer2017660 IKAnalyzer2017660.jar:https://github.com/ittalks/IK......

m631521383
2017/09/15
0
0
Java中文分词组件 - word分词

Java分布式中文分词组件 - word分词 word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数...

杨尚川
2014/04/29
0
47

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
21
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
17
0
my.ini

1

architect刘源源
今天
14
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
15
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部