solr(十二):CDH创建solr 添加ik中文分词器

一、功能

在cdh集群的solr环境中添加ik分词器,从而可以实现对中文的友好分词。

二、环境

1.centos7.4

2.cdh5.15.2

三、步骤

1.上传ik分词器jar包到

cd /opt/cloudera/parcels/CDH/lib/solr/webapps/solr/WEB-INF/lib/IKAnalyzer2012FF_u1.jar
chmod 777 IKAnalyzer2012FF_u1.jar

ll | grep IKAnalyzer2012FF_u1

2.上传配置文件到所有solr服务器节点
(1)在/data/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/solr/webapps/solr/WEB-INF/下创建classes

mkdir classes

(2)上传ik分词器的三个文件

ext.dic  IKAnalyzer.cfg.xml  stopword.dic

(3)修改权限

chmod 777 ./*

3.重启cdh solr服务

切记一定做这一步,否则会报错

4.在主节点上执行创建instancedir;

solrctl instancedir --generate /var/lib/solr/test_ik_conf

5.修改schema

cd /var/lib/solr/test_ik_conf/conf
vi schema.xml

在schema.xml的types标签中添加

<!-- IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
</types>

6.添加域名

标签fields中添加一个域

<field name="content_ik" type="text_ik" indexed="true" stored="true" />

7.创建实例并且上传配置文件:

solrctl instancedir --create test_ik /var/lib/solr/test_ik_conf

8.创建分片:

solrctl collection --create test_ik -s 2 -c test_ik -r 2 -m 3
-c:指的是配置文件

9.更新配置
(1)更新上传配置文件

solrctl instancedir --update test_ik /var/lib/solr/test_ik_conf

(2)重新加载collection

solrctl collection --reload test_ik #重新加载collection

(3)重新创建collection

solrctl collection --create test_ik5 -s 2 -c test_ik -r 1 -m 3

 

四、代码:实现cdhsolj上传建立索引
 

package solr;

import org.apache.solr.client.solrj.impl.CloudSolrServer;
import org.apache.solr.common.SolrInputDocument;


public class solrcloudIndexManager {
    public void addDocument() throws  Exception{
        //使用SolrJ连接集群
        //参数:zkHost是一个zookeeper集群列表
        String zkHost="zk1:2181,zk2:2181,zk3:2181/solr";

        CloudSolrServer solrserver=new CloudSolrServer(zkHost);

        //设置默认的实例collection
        solrserver.setDefaultCollection("test_ik5");
        //创建一个文档对象
        SolrInputDocument document=new SolrInputDocument();
        document.setField("id","solr test 02");
        document.setField("title","solr world:6666666666666");

        //提交文档
        solrserver.add(document);
        //提交修改
        solrserver.commit();

    }


    public static void main(String[] args) throws Exception{

//        new solrcloudIndexManager().importAllItems();
        new solrcloudIndexManager().addDocument();
    }
}

    


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值