• solr-1.4.1 环境配置


    solr-1.4.1 环境配置:


    Solr是一个apache名下非常好用的开源索引、搜索工具,网上的资料虽多但非常杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结。文中涉及到的配置方法并不唯一,API的使用方法也未必规范,仅希望可以通过此文让大家对solr更快的入手。
     
    一、Solr的安装环境与配置:
     
    1、  下载所需软件,安装配置Tomcat
    首先下载Tomcat与Solr,Tomcat可在各软件站点下载得到,Solr下载地址例如以下:
    http://mirror.bjtu.edu.cn/apache/lucene/solr/1.4.1/apache-solr-1.4.1.zip
    Tomcat依照安装流程进行就可以,本文中Tomcat安装在X盘下,设置监听port时改为8983(默觉得8080),当然也可以在配置文件里改动,路径为X:Tomcat 6.0confserver.xml,并加入编码格式为UTF-8以使得Solr可以正确解析url递送的查询要求。
     
    <Connector port="8983" protocol="HTTP/1.1" connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>
     
    2、构建文件文件夹
    将apache-solr- 1.4.1.zip解压到某文件夹,文件夹例如以下图所看到的:


    在X盘下建立目录solr,将解压文件里的example目录下的内容所有复制到solr中,此时solr目录下会有一个名为webapps的空目录,将解压目录中的dist目录下的apache-solr-1.4.1.war文件复制到webapps中,重命名为solr.war。
     
    3、配置Solr工作环境
    在Tomcat中注冊Solr。在X:Tomcat 6.0confCatalinalocalhost下(文件夹不存在则手工建)创建配置文件solr.xml,内容为:
     
    <Context docBase="X:/solr/webapps/solr.war" reloadable="true" > 
           <Environment name="solr/home" type="java.lang.String" value="X:/solr/solr" override="true" /> 
    </Context>
     
    docBase为网页公布内容,Environment为solr的配置环境。
     
    4、配置索引数据格式
    在X:solrsolrconf其中有schema.xml文件,能够配置索引数据格式。scheme.xml尽管较长但凝视丰富,并且大部分内容属于数据类型的定义,我们仅仅须要在<fields> 、</fields>标签之间加入自己的数据就可以。当然,我们也能够自己定义类型。
    以例子中的第一个字段为例:
    <field name="id" type="string" indexed="true" stored="true" required="true" />
    类型为string,须要索引,须要存储,是一个不可为空的字段,简单易懂。
     
    其它配置例如以下:
     
    <uniqueKey>id</uniqueKey>
    配置整个索引中唯一的键值,用来区分不同的索引条目。
     
    <defaultSearchField>text</defaultSearchField>
    默认的搜索字段,假设在搜索时不特殊指定字段,则会搜索这一字段。
         
    <solrQueryParser defaultOperator="OR" />
    搜索时对同一字段不同keyword的处理方法,依据项目须要选择“与”或者“或”。
     
    <copyField source="cat" dest="text" />
    <copyField source="name" dest="text" />
    …………
    默认搜索字段较多时能够这样设置,假设仅仅有一个字段待搜索,那么仅仅需在defaultSearchField中配置。
     
    5、执行solr
    启动Tomcat,訪问http://localhost:8983/solr/admin/ 就可以见到主页,从上至下共三部分,配置状态、查询与帮助链接。
    http://localhost:8983/solr/admin/analysis.jsp 页面能够考察分词器的工作情况;
    http://localhost:8983/solr/admin/form.jsp 页面能够模拟搜索请求构建请求url。
    在solr配置完成后第一次启动Tomcat时,Tomcat中会出现非常多新的文件及目录。在Tomcat下会出现一个solr目录,那里用来存放索引;在Tomcat的webapps目录下也会出先一个solr目录,存放webproject;在Tomcat的logs目录下会出下catalina开头的日志文件,我们能够查找solr的加载异常以及索引与查询的url记录。
     
    6、加入索引
    在Tomcat与Solr开启的情况下,我们能够加入索引。进入X:solrexampledocs目录我们能够看到非常多xml文件,以及post.jar文件,这里就是用来储存xml格式的待索引文件的地方。打开solr.xml我们能够看到:
     
     <add>
           <doc>
                  <field name="id">SOLR1000</field>
                  <field name="name">Solr, the Enterprise Search Server</field>
                  <field name="manu">Apache Software Foundation</field>
    …………
                  <field name="incubationdate_dt">2006-01-17T00:00:00.000Z</field>
           </doc>
     </add>
     
    add标签表明这是要加入一个索引(其它标签參考solr的文档或者solr wiki),各个字段均有数据,请注意最后一行date类型的数据,与java中的不同。
     
    那么如何可以将这个xml传送到solr进行索引呢,这就要用到post.jar。开启命令行,进入post.jar所在目录,执行:
     
    java -Durl=http://localhost:8983/solr/update -Dcommit=yes -jar post.jar *.xml
     
    程序执行成功索引便被加入。加入索引还能够通过solr提供的java接口solrj编程实现,在以下我们会讲到。
    索引加入成功之后便能够通过上面提到的solr网页接口进行搜索測试。
     
    7、加入中文分词
    笔者使用的是IKAnalyzer的最新版本号IKAnalyzer3.2.5Stable.jar,对Solr提供了较好的支持,能够在各软件站点或CSDN较easy的搜索到。使用时将IKAnalyzer3.2.5Stable.ja放置在X:Tomcat 6.0webappssolrWEB-INFlib目录下。
    因为Solr默认选用的是lucene对应版本号自带的分词器,所以要改动配置才干转换为IKAnalyzer。相同是改动X:solrsolrconf下的schema.xml文件,改动部分用红色标示出:
     
    <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
                  <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false" />
                  …………
           </analyzer>
    <analyzer type="query">
                  <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true" />
                  …………
           </analyzer>
    </fieldType>
     
    分词器均为IKAnalyzer自带的支持solr的IKTokenizerFactory,在索引时不依照最大匹配进行分词,而在搜索时依照最大匹配进行分词。
    IKAnalyzer也支持用户自己定义词典。首先在X:Tomcat 6.0webappssolrWEB-INF下建立classes目录,在classes目录中新建IKAnalyzer.cfg.xml文件,内容为:
     
      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE properties (View Source for full doctype...)>
    <properties version="1.0">
           <comment>IK Analyzer 扩展配置</comment>
           <entry key="ext_dict">/mydict.dic</entry>
           <entry key="ext_stopwords">/mystopword.dic</entry>
      </properties>
     
    mydict.dic为自己定义分词词典,mystopword.dic为自己定义停词词典,dic文件应当被保存为UTF-8格式,首行为空行,每一个词占一行。dic文件的存放位置也是classes文件夹。
  • 相关阅读:
    java内嵌ftp服务器
    echostudio3 破解
    替换java中资源文件类
    使用Apache FtpServer搭建FTP服务器
    创建一个输入标识符 也就是一个输入的光标
    vbscript操作文件
    vbscript操作文件
    echostudio3 破解
    js做一个简易计算器
    js函数,传入原文,返回密文
  • 原文地址:https://www.cnblogs.com/blfshiye/p/3812749.html
Copyright © 2020-2023  润新知