Solr4.6 的部署配置

Solr总结性的说,这是一个对lucene进行完全封装(从前台到后台)的项目,项目中如果需要使用搜索功能,经过配置之后项目就可以直接通过solr提供的搜索api进行搜索功能的应用,而无需开发人员再针对数据进行索引、分词的处理。
下载Solr并解压: http://lucene.apache.org/
创建SolrHome:
E盘下创建SolrHome目录,将solr解压后目录example 中的multicore拷贝到 SolrHome目录,将dist下的 solr-4.6.0.war拷贝到 SolrHome目录。
配置SolrHome的信息:
在Tomcat的目录conf\Catalina\localhost(如果不存在,请先运行一下tomcat就会自动生成)下,创建solr.xml信息如下:

<? xml version = "1.0" encoding = "UTF-8" ?>
<Context docBase = "E:/SolrHome/solr.war" debug = "0" crossContext = "true" >
    <Environment name = "solr/home" type = "java.lang.String" value = "E:/SolrHome/multicore" override = "true" />  
</Context>

配置solr运行支持包:
将solr解压后目录solr-4.6.0\dist\solrj-lib中的相关文件,拷贝之tomcat的lib目录。
jcl-over-slf4j-1.6.6.jar
jul-to-slf4j-1.6.6.jar
log4j-1.2.16.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
启动tomcat,访问 http://localhost:8080/solr,就可进入solr的相关配置及运行信息界面。
配置Solr的中文分词技术:
solr的默认分词是按照英语进行分词,即按照空格进行分词,该分词算法不适用与中文,会导致大量的冗余索引。
solr的第三方中文分词

paoding Lucene中文分词“庖丁解牛” Paoding Analysis
imdict imdict智能词典所采用的智能中文分词程序
mmseg4j  Chih-Hao Tsai  MMSeg 算法 实现的中文分词器
iIKAnalyzer :采用了特有的“正向迭代最细粒度切分算法“,多子处理器分析模式

lucene-analyzers-smartcn Solr官方提供的中文分词,有点与新版本同步发行,缺点相对中文化略差

将solr解压后目录solr-4.6.0\contrib\analysis-extras\lucene-libs中的lucene-analyzers-smartcn-4.6.0.jar文件,拷贝之tomcat的项目运行webapps\solr\WEB-INF\lib目录。
配置Solr的注册分词器:
进入 <Environment name="solr/home" type="java.lang.String" value="E:/SolrHome/multicore" override="true" /> 
目录中,将conf/ schema.xml中:
Types标签中加入以下:

<fieldType name = "text_smart" class = "solr.TextField" positionIncrementGap = "100" >
      <analyzer type = "index" >
        <!-- 此处需要配置主要的分词类 -->
        <tokenizer class = "solr.SmartChineseSentenceTokenizerFactory" />
<!--  
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory"/> 
-->
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
      -->
        
<filter class = "solr.SmartChineseWordTokenFilterFactory" />
 
      </analyzer>
      <analyzer type = "query" >
      <!-- 此处配置同上 -->
        <tokenizer class = "solr.SmartChineseSentenceTokenizerFactory" />
<!-- 
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
-->
<filter class = "solr.SmartChineseWordTokenFilterFactory" />
 
      </analyzer>
    </fieldType>

<fields>标签下加入以下:

<field name="sma" type="text_smart" indexed="true" stored="true" multiValued="true"/>


修改默认分词器:

<defaultSearchField>sma</defaultSearchField>

验证中文分词效果:
访问:localhost:8080/solr
选择菜单:Core Admin-->Core Selector-->Core0-->Analysis
Field Value (Index)中输入对应中文,然后进行分词解析
Solr4.6 的部署配置 - 鹏 - 整理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值