solr 3.5 配置及server设置

一、solr 的简单介绍

Apache Solr 是一个开源的搜索server。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。

每一个文档由一系列的 Field 构成。每一个 Field 表示资源的一个属性。Solr 中的每一个 Document 须要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件里使用:<uniqueKey>id</uniqueKey>进行描写叙述。

  Solr是一个高性能,採用Java5开发。基于Lucene的全文搜索server。文档通过Http利用XML加到一个搜索集合中。

查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包含:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性。提 供一套强大Data Schema来定义字段,类型和设置文本分析。提供基于Web的管理界面等。

二、solr 3.5 的下载

    solr 3.5下载地址:http://www.apache.org/dist//lucene/solr/

   tomcat  tomcat-7.0.26 下载:http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-7/v7.0.26/bin/apache-tomcat-7.0.26.zip

三、solr 3.5的安装

     1、解压tomcat-7.0.26 到 e: omcat-7.0.26下

     2、打开tomcat-7.0.26conf 改动  server.xml 文件

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

  改动默认port8080,能够不改动。加入字符编码  URIEncoding="UTF-8" 否则中文会乱码

      3、在apache-solr-3.5.0dist文件夹下找到apache-solr-3.5.0.war把重命名为solr.war 并上传到 tomcat-7.0.26/webapps下。

        4、创建一个solr.xml文件。

        在tomcat-7.0.14confCatalinalocalhost下创建一个solr.xml文件。内容为:  

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <Context docBase="e:/tomcat-7.0.26/webapps/solr" debug="0" crossContext="true" >  
  3.    <Environment name="solr/home" type="java.lang.String" value="e:/tomcat-7.0.26/solr" override="true" />  
  4. </Context>  
  1. <?

    xml version="1.0" encoding="UTF-8"?>  

  2. <Context docBase="e:/tomcat-7.0.26/webapps/solr" debug="0" crossContext="true" >  
  3.    <Environment name="solr/home" type="java.lang.String" value="e:/tomcat-7.0.26/solr" override="true" />  
  4. </Context>  

  docBase:为solr的上传文件夹

  5、把apache-solr-3.5.0example文件夹下的solr文件夹上传到e:/tomcat-7.0.26文件夹下.索引文件会默认会放到 e:/tomcat-7.0.26solrdata下.

     6、又一次tomcat 在浏览器中输入:http://localhost:8080/

          会出现:welcome to solr  

                     solr admin  说明公布已成功!


四、solr 3.5与IKAnalyzer 3.2.8分词的整合

   1、IKAnalyzer下载地址:IKAnalyzer 3.2.8

   2、加入IKAnalyzer3.2.8.jar

       把IKAnalyzer3.2.8.jar放到 tomcat-7.0.14webappssolrWEB-INFlib下;

   3、schema.xml 添加信息

    进入文件夹编辑schema.xml文件。在<Types>下加入下面内容: 

  1. <fieldType name="text" class="solr.TextField" >    
  2.                <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>    
  3.                <analyzer type="index">    
  4.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  5.                    <filter class="solr.StopFilterFactory"    
  6.                            ignoreCase="true" words="stopwords.txt"/>    
  7.                    <filter class="solr.WordDelimiterFilterFactory"    
  8.                            generateWordParts="1"    
  9.                            generateNumberParts="1"    
  10.                            catenateWords="1"    
  11.                            catenateNumbers="1"    
  12.                            catenateAll="0"    
  13.                            splitOnCaseChange="1"/>    
  14.                    <filter class="solr.LowerCaseFilterFactory"/>    
  15.                    <filter class="solr.EnglishPorterFilterFactory"    
  16.                        protected="protwords.txt"/>    
  17.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  18.                </analyzer>    
  19.                  <analyzer type="query">    
  20.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  21.                    <filter class="solr.StopFilterFactory"    
  22.                            ignoreCase="true" words="stopwords.txt"/>    
  23.                    <filter class="solr.WordDelimiterFilterFactory"    
  24.                            generateWordParts="1"    
  25.                            generateNumberParts="1"    
  26.                            catenateWords="1"    
  27.                            catenateNumbers="1"    
  28.                            catenateAll="0"    
  29.                            splitOnCaseChange="1"/>    
  30.                    <filter class="solr.LowerCaseFilterFactory"/>    
  31.                    <filter class="solr.EnglishPorterFilterFactory"    
  32.                        protected="protwords.txt"/>    
  33.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  34.                </analyzer>    
  35.     </fieldType>    
  1. <fieldType name="text" class="solr.TextField" >    
  2.                <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>    
  3.                <analyzer type="index">    
  4.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  5.                    <filter class="solr.StopFilterFactory"    
  6.                            ignoreCase="true" words="stopwords.txt"/>    
  7.                    <filter class="solr.WordDelimiterFilterFactory"    
  8.                            generateWordParts="1"    
  9.                            generateNumberParts="1"    
  10.                            catenateWords="1"    
  11.                            catenateNumbers="1"    
  12.                            catenateAll="0"    
  13.                            splitOnCaseChange="1"/>    
  14.                    <filter class="solr.LowerCaseFilterFactory"/>    
  15.                    <filter class="solr.EnglishPorterFilterFactory"    
  16.                        protected="protwords.txt"/>    
  17.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  18.                </analyzer>    
  19.                  <analyzer type="query">    
  20.                    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>    
  21.                    <filter class="solr.StopFilterFactory"    
  22.                            ignoreCase="true" words="stopwords.txt"/>    
  23.                    <filter class="solr.WordDelimiterFilterFactory"    
  24.                            generateWordParts="1"    
  25.                            generateNumberParts="1"    
  26.                            catenateWords="1"    
  27.                            catenateNumbers="1"    
  28.                            catenateAll="0"    
  29.                            splitOnCaseChange="1"/>    
  30.                    <filter class="solr.LowerCaseFilterFactory"/>    
  31.                    <filter class="solr.EnglishPorterFilterFactory"    
  32.                        protected="protwords.txt"/>    
  33.                    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    
  34.                </analyzer>    
  35.     </fieldType>    

然后在<fields>下加入:

  1. <field name="name1" type="text" indexed="true" stored="true" required="true" />  
  1. <field name="name1" type="text" indexed="true" stored="true" required="true" />  

5、又一次tomcat 在浏览器中输入:http://localhost:80/solr/analysis.jsp  进去 solr admin 显示:

原文地址:https://www.cnblogs.com/bhlsheji/p/5324964.html