solrcloud配置中文分词

solrcloud添加document、配置中文分词

上一篇文章写了如何搭建solrlcoud服务并根据默认配置进行简单查询,而这种简单查询还只能完全查询,并不可以模糊查询,今天说说添加中文分词和拼音分词

首先添加几篇文章,并且根据文章的结构可以有比如name,title,content。所以我们应该在上传文章前修改schema.xml文件,添加name、title、content等field。

接下来我们先将将schema.xml里面的一些属性,field、fieldType、dynamicField、copyField、analyser

fieldType:其实我们可以和数据库的表字段联系起来,这个fieldType就是field的类型,我们可以先定义好一些类型提供给field使用。
例如:

<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
//在fieldType中可以有很多属性:
sortMissingLast           设置成true没有该field的数据排在有该field的数据之后,而不管请求时的排序规则, 默认是设置成false。
sortMissingFirst          跟上面倒过来。 默认是设置成false
analyzer                  字段类型指定的分词器

 <field name="name" type="string" indexed="true" stored="true" />
 //name     字段的名字
   type     就是上面定义的fieldType
   indexed      缺省true。 说明这个数据应被搜索和排序,如果数据没有indexed,则stored应是true。
   stored       缺省true。说明这个字段被包含在搜索结果中是合适的。如果数据没有stored,则indexed应是true。如果希望被搜索后高亮显示需要设为true
   omitNorms    字段的长度不影响得分和在索引时不做boost时,设置它为true。一般文本字段不设置为true。
   termVectors  如果字段被用来做more like this 和highlight的特性时应设置为true。
   compressed   字段是压缩的。这可能导致索引和搜索变慢,但会减少存储空间,只有StrFieldTextField是可以压缩,这通常适合字段的长度超过200个字符。
   multiValued  字段多于一个值的时候,可设置为true。
   
   
   <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
   //和field一样的作用只是dynamicField是动态的如果以后用到后缀为_i的所有field直接使用,不需要一一定义。

接下来配置分词器,将word-1.3.jar和pinyin4j-2.5.0.jar加入到solr-5.3.1/server/solr-webapp/webapp/WEB-INF/lib下
同时在你觉得需要搜索的字段fieldType下添加analyser

<field name="demo" type="text_zh" indexed="true" stored="true" required="true" multiValued="false" />
  <fieldType name="text_zh" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
                <tokenizer class="org.apdplat.word.solr.ChineseWordTokenizerFactory"/>
          </analyzer>
         <analyzer type="query">
                 <tokenizer class="org.apdplat.word.solr.ChineseWordTokenizerFactory"/>
         </analyzer>
   </fieldType>

最后将schema.xml更新上传到zookeeper上:

 [root@localhost solr-5.3.1]# ./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181 -cmd upconfig -confname demo-conf -confdir server/solr/configsets/basic_configs/conf/

重启solrcloud服务中文分词拼音就可以使用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值