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 

     

  • 相关阅读:
    leetcode 279. Perfect Squares
    leetcode 546. Remove Boxes
    leetcode 312. Burst Balloons
    leetcode 160. Intersection of Two Linked Lists
    leetcode 55. Jump Game
    剑指offer 滑动窗口的最大值
    剑指offer 剪绳子
    剑指offer 字符流中第一个不重复的字符
    leetcode 673. Number of Longest Increasing Subsequence
    leetcode 75. Sort Colors (荷兰三色旗问题)
  • 原文地址:https://www.cnblogs.com/chenying99/p/3440758.html
Copyright © 2011-2022 走看看