zoukankan      html  css  js  c++  java
  • solr 3.5.0 与 tomcat 7.0.5 整合配置

    1.将D:softwarelucene-3.6.0apache-solr-3.5.0examplesolr下的文件拷贝到要作为服务器的位置(如:D:lucenesolrhome),可以删除data目录下的数据,保留data文件夹;
    2.将D:softwarelucene-3.6.0apache-solr-3.5.0examplewebapps中的solr.war程序也拷贝出来(D:lucenesolrserver);,并解压solr.war

    3.打开D:lucenesolrhome文件夹中的conf (D:lucenesolrhomeconfig)下的solrconfig.xml, 配置<dataDir>${solr.data.dir:}</dataDir>为(这里指定data的路径)

    <dataDir>${solr.data.dir:D:lucenesolrhomedata}</dataDir>
    

      

    4.设置相应的tomcat中的server.xml的context,在<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">下面增加类似如下内容:

    <Context path="/solr" docBase="D:lucenesolrserversolr" reloadable="false"></Context>  
    

      

    5.为context设置相应的环境变量,说明solr的主目录的地址(在coontext中增加environment):

    <Context path="/solr" docBase="D:lucenesolrserversolr" reloadable="false">  
    <Environment name="solr/home" type="java.lang.String" value="D:lucenesolrhome" override="true"/>  
    </Context>
    

      

    6.修改solrconfig中的

    <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" enable="${solr.velocity.enabled:false}"/>
    

      

    7: 修改D:lucenesolrserverWEB-INFweb.xml 打开

    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>D:/lucene/solr/home</env-entry-value>
           <env-entry-type>java.lang.String</env-entry-type>
        </env-entry>
    

      

    8: 启动tomcat   

    9:通过localhost:8080/solr验证配置,出现如下页面说明配置成功

    10:加入中文分词(这里需要下载中文分词包,我下载的是mmseg4j)

    将中文分词的包加入到Server的lib中;

     在 solr的 schema.xml 中定义 field type如:

    <fieldType name="textComplex" class="solr.TextField" >  
          <analyzer>  
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>  
          </analyzer>  
        </fieldType>  
    <fieldType name="textMaxWord" class="solr.TextField" >  
          <analyzer>  
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>  
          </analyzer>  
        </fieldType>  
    <fieldType name="textSimple" class="solr.TextField" >  
          <analyzer>  
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/>  
          </analyzer>  
        </fieldType>
    

      dicPath 指定词库位置(每个MMSegTokenizerFactory可以指定不同的目录,当是相对目录时,是相对 solr.home 的目录),mode 指定分词模式(simple|complex|max-word,默认是max-word)。

    把mmseg4j的data中的四个文件(chars.dic;units.dic; words.dic; words-my.dic)拷贝到dic中.

    OK,这样就配置成功了,而且还可以使用mmseg4j中文分词。

    solr demo : 实现索引的增删改查: https://github.com/EstarG/solrDemo    

  • 相关阅读:
    leetcode 300. 最长上升子序列
    JAVA基础系列:Arrays.binarySearch二分查找
    leetcode 674. 最长连续递增序列
    小红书:笔试题(棋盘最短路径,笔记本草稿栈,迷宫游戏)
    VIPKID:笔试题(数组中和为0的一对数的数量,十进制转二进制中1的个数)
    [******] 树问题:普通二叉树的创建与遍历
    [******] 链表问题:将单向链表按某值划分成左边小、中间相等、右边大的形式
    [******] java多线程连续打印abc
    快手:笔试题(版本号比较,平方和为1,合并两个流)
    京东:笔试题(合唱队找剩余的最小值,考场安排搬出的人数尽可能少)
  • 原文地址:https://www.cnblogs.com/E-star/p/4983700.html
Copyright © 2011-2022 走看看