`
sinykk
  • 浏览: 356938 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

    博客分类:
  • SOLR
 
阅读更多

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

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【增加中文支持】

 <Connector port="8983" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8"/>

 

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

 

 

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/usr/local/apache-tomcat-6.0.33/webapps/solr" debug="0" crossContext="true" >
   <Environment name="solr/home" type="java.lang.String" value="/usr/local/apache-tomcat-6.0.33/solr" override="true" />
</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 version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.4">
 <types>
    <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
	 <!-- 
	<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>
	-->

	 <fieldType name="textik" class="solr.TextField" >
               <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
       
               <analyzer type="index">  
                   <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>  
                   <filter class="solr.StopFilterFactory"  
                           ignoreCase="true" words="stopwords.txt"/>  
                   <filter class="solr.WordDelimiterFilterFactory"  
                           generateWordParts="1"  
                           generateNumberParts="1"  
                           catenateWords="1"  
                           catenateNumbers="1"  
                           catenateAll="0"  
                           splitOnCaseChange="1"/>  
                   <filter class="solr.LowerCaseFilterFactory"/>  
                   <filter class="solr.EnglishPorterFilterFactory"  
                       protected="protwords.txt"/>  
                   <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>  
               </analyzer>  
     			<analyzer type="query">  
                   <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>  
                   <filter class="solr.StopFilterFactory"  
                           ignoreCase="true" words="stopwords.txt"/>  
                   <filter class="solr.WordDelimiterFilterFactory"  
                           generateWordParts="1"  
                           generateNumberParts="1"  
                           catenateWords="1"  
                           catenateNumbers="1"  
                           catenateAll="0"  
                           splitOnCaseChange="1"/>  
                   <filter class="solr.LowerCaseFilterFactory"/>  
                   <filter class="solr.EnglishPorterFilterFactory"  
                       protected="protwords.txt"/>  
                   <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>  
               </analyzer>  
       
</fieldType>
 </types>


 <fields>
  <field name="id" type="string" indexed="true" stored="true" required="true" /> 
 </fields>

 <uniqueKey>id</uniqueKey>

</schema>

 

 

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

效果图如下

 


 

 

 

 

 

 

 

  • 大小: 48 KB
分享到:
评论

相关推荐

    solr7.5官方文档

    Apache Solr 7.5 官方文档是一份全面介绍如何安装、配置及管理 Solr 的手册,旨在帮助用户从零开始搭建并高效利用 Solr 的强大功能。 #### 主机与端口示例 文档提供了具体的主机和端口示例,帮助用户更好地理解 ...

    tomcat8.5+solr7+IKAnalyzer5+ikpinyin直装版

    使用这个直装版,开发者或运维人员可以快速搭建一个支持中文搜索的环境,而无需从零开始设置所有组件。只需按照readme文件的指示进行操作,就可以启动并测试这个系统的功能。 总的来说,这个组合为搭建一个高效、...

    IKAnalyzer中文分词器V3.2.8使用手册

    - **最大词长分词结果**:“ikanalyzer|是|一个|开源|的|基于|java|诧言|开发|的|轻量级|的|中文|分词|工具包|从|2006|年|12|月|推出|1.0|版|开始|ikanalyzer|已经|推出|出了|3|个|大|版本” - **最细粒度分词...

    IkAnalyzer_5.1_extra

    这个压缩包包含了必要的配置文件,使得用户无需从零开始配置,可以直接应用于项目中,简化了开发流程。 IkAnalyzer的核心特性包括: 1. **基于词典的分词**:IkAnalyzer依赖于丰富的中文词典,能够准确识别常见的...

    分享一个Nutch入门学习的资料

    通常这样的博客会详细解释如何从零开始搭建Nutch环境,包括安装Java、Hadoop,配置Nutch的配置文件,以及运行Nutch的基本命令。 标签“源码”意味着这个学习资料可能涉及Nutch的源代码分析,这对于深入理解Nutch的...

    自己动手写网络爬虫(全书源代码)

    通过这本书,你可以了解到如何从零开始构建一个完整的网络爬虫系统,直至实现一个小型的搜索引擎。这份资源包含四个部分的源代码:1-4.zip、6-9.zip、10.zip和Chap05.zip,分别对应书中的不同章节内容。 1-4.zip这...

    wuyeLucene03

    其设计目标是让开发者能够方便地在自己的应用程序中集成强大的搜索功能,而无需从零开始构建复杂的搜索算法。通过使用Lucene,开发者可以对大量文本数据进行索引,然后快速地执行查询,找到与查询相关的文档。 核心...

    web lucene

    8. **实例分析**:可能提供一个实际的Web应用示例,展示如何从零开始构建一个使用Lucene的搜索功能。 9. **未来扩展**:讨论如何进一步扩展Lucene的功能,如使用Solr或Elasticsearch这样的分布式搜索平台,以支持更...

    开发自己的搜索引擎光盘

    标签“开发自己的搜索引擎”进一步强调了这是一个自定义的过程,可能涵盖了从零开始设计系统架构,到选择适合的开源工具(如Elasticsearch、Solr)进行二次开发等不同层次的技能。 总的来说,开发自己的搜索引擎是...

    lunence2.4例题

    【标签】中的关键词强调了"入门",意味着这份资料适合初学者,它将帮助他们从零开始学习Lucene。"例题"则表明这是一个实践导向的学习材料,而"最新版"可能意味着这些例子和练习反映了Lucene 2.4的最新特性或更新。 ...

    java开源包7

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包11

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    JAVA上百实例源码以及开源项目源代码

    数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...

    java开源包1

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包2

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包3

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包6

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包5

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

Global site tag (gtag.js) - Google Analytics