zoukankan      html  css  js  c++  java
  • solr&lucene3.6.0源码解析(一)

     
    本文作为系列的第一篇,主要描述的是solr3.6.0开发环境的搭建
     
    首先我们需要从官方网站下载solr的相关文件,下载地址为http://archive.apache.org/dist/lucene/solr/3.6.0/
    将下载的文件解压到solr-3.6.0文件夹
     
    然后本人在myeclipse下建立web project,在pom.xml文件添加相关依赖,本人配置如下:
        <properties>
            <solr.version>3.6.0</solr.version>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
        <dependencies>
            <!-- SLF4J -->        
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>log4j-over-slf4j</artifactId>
                <version>1.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jdk14</artifactId>
                <version>1.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-stax-api_1.0_spec</artifactId>
                <version>1.0.1</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-core</artifactId>
                <version>${solr.version}</version>
            </dependency>
    
            <dependency>
                <groupId>com.***.search</groupId>
                <artifactId>IKAnalyzer</artifactId>
                <version>2012-u6</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-dataimporthandler</artifactId>
                <version>${solr.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-dataimporthandler-extras</artifactId>
                <version>${solr.version}</version>
            </dependency>
            
            <dependency>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc14</artifactId>
                <version>10.2.0.4.0</version>
            </dependency>
    
        </dependencies>

    面的IKAnalyzer为IK分词器,需要我们手动添加到maven的本地仓库中

    然后我们需要解压我们上面下载的${solr-3.6.0}/dist/solr-3.6.0.war文件,将解压的文件复制到我们的web project的WebRoot目录里面

    将${solr-3.6.0}/example/resources目录中的log4j.properties文件复制到我们的web project的src目录下

    同时IK分词器需要复制相关配置文件到web project的src目录

    最后得到的项目结构如下:

    下面配置solr.home目录,将${solr-3.6.0}/example/multicore文件夹复制到我们指定的目录,假设为/home/chenying/solr-home

    然后修改web project的web.xml文件,指定solr的solr.home

    <env-entry>
           <env-entry-name>solr/home</env-entry-name>
           <env-entry-value>/home/chenying/solr-home</env-entry-value>
           <env-entry-type>java.lang.String</env-entry-type>
        </env-entry>

    为了使solr支持IK中文分词,我们还需要修改${sole.home}目录中相关core的conf目录中的schemal.xml添加支持IK的fieldType和field 

    <fieldType name="text_ik" class="solr.TextField" > 
          <analyzer type="index"> 
             <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart ="false"/> 
          </analyzer> 
          <analyzer type="query">
               <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart ="false"/> 
          </analyzer> 
        </fieldType>
    <field name="ik_field" type="text_ik" indexed="true" stored="true" multiValued="false"/> 

    关于solrconfig.xml文件和schemal.xml文件的详细配置,待后文分解

    至此配置完毕,可以在servlet容器(如tomcat)中运行该项目 

    --------------------------------------------------------------------------- 

    本系列solr&lucene3.6.0源码解析系本人原创 

    转载请注明出处 博客园 刺猬的温驯 

    本人邮箱: chenying998179#163.com (#改为@)

    本文链接http://www.cnblogs.com/chenying99/p/3440758.html 

     

  • 相关阅读:
    LeetCode344. 反转字符串
    LeetCode59. 螺旋矩阵 II
    LeetCode209. 长度最小的子数组
    LeetCode383. 赎金信
    cannot be cast to javax.servlet.Servlet
    求组合
    数据库系统概论王珊第四版 答案
    数据库复习
    dfs-bfs
    dfs
  • 原文地址:https://www.cnblogs.com/chenying99/p/3440758.html
Copyright © 2011-2022 走看看