`
290434409
  • 浏览: 27292 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SolrCloud之zookeeper中使用java代码创建集合

阅读更多

javaAPI调用solrcloud上传配置和删除/创建集合。网上大多都是通过http路径调用创建,以下是通过Zookeeper+solr进行操作:

 

public class SolrConfig {
    static String ZK_HOST="10.8.177.204:2181,10.8.177.210:2181,10.8.177.33:2181,10.8.177.22:2181";
    static SolrZkClient zkClient=new SolrZkClient(ZK_HOST,30000);
    static ZkConfigManager zkConfigManager=new ZkConfigManager(zkClient);
    /**
     * 上传配置
     * @param configName
     * @param configPath
     * @throws IOException
     */
    public static void uploadConfig(String configName,String configPath)throws IOException{
        System.out.println("准备上传配置:"+configName);
        zkConfigManager.uploadConfigDir(Paths.get(configPath),configName);
        System.out.println("上传配置成功!");
    }

    /**
     * 删除集合
     * @param deleteName
     * @throws IOException
     * @throws SolrServerException
     */
    public static void deleteCollection(String deleteName)throws IOException,SolrServerException{
        SolrClient solrClient=new CloudSolrClient(ZK_HOST);
        CollectionAdminRequest.Delete delete=new CollectionAdminRequest.Delete();
        delete.setCollectionName(deleteName);
        CollectionAdminResponse response=delete.process(solrClient);
        System.out.println(response);
        solrClient.close();
    }

    /**
     * 创建集合
     * @param collectionName
     * @param configName
     * @throws IOException
     * @throws SolrServerException
     */
    public static void createCollection(String collectionName,String configName)throws IOException,SolrServerException{
        SolrClient solrClient=new CloudSolrClient(ZK_HOST);
        CollectionAdminRequest.Create create=new CollectionAdminRequest.Create();
        create.setConfigName(configName);
        create.setCollectionName(collectionName);
        create.setNumShards(4);//分片
        create.setMaxShardsPerNode(4);//每个节点最多持有片
        create.setReplicationFactor(2);//复制
        CollectionAdminResponse response=create.process(solrClient);
        System.out.println(response);
        solrClient.close();
    }
    public static void main(String[] args){
        try {
            String collectionName="shb1026";
            String config="solrAndHbase";
//            String configPath = "G:\\config\\solr_conf\\nlp\\";
//            uploadConfig(config, configPath);
//            deleteCollection(collectionName);
            createCollection(collectionName,config);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

 

 

0
1
分享到:
评论

相关推荐

    Tomcat+solrcloud6.2整合Web项目

    在"app-BASE-SearchEngine.xml"中,我们需要定义一个Bean来实例化CloudSolrClient,设置ZooKeeper的连接字符串,以及选择要操作的Solr集合。 以下是一个基本的Spring配置示例: ```xml <value>zkHost=your_...

    java solr开发

    - **Java 1.8支持**:Solr 7.2.1构建于Java 1.8之上,利用了Java 8的新特性,如Lambda表达式和Stream API,提高了代码的简洁性和性能。 - **性能优化**:这一版本对索引和查询速度进行了优化,使得搜索响应时间更...

    solr集群搭建

    9. **数据导入**:使用Solr的数据导入处理程序(DIH)或者SolrJ库将数据导入到集合中。DIH支持多种数据源,如CSV、XML和数据库。 10. **监控与故障恢复**:通过ZooKeeper和Solr的监控界面检查集群健康状况。当节点...

    solr导航搜索工具+文档+配置代码

    2. 集成Solr到Java应用:使用SolrJ客户端库,将Solr集成到Java应用程序中,实现数据的实时索引和搜索。 3. 调优和监控:优化Solr的配置,监控性能指标,确保系统的稳定性和高效性。 4. 高级特性:探索Solr的近实时...

    Solr项目源码及solr资源包

    8. **SolrCloud模式**:如果项目涉及到SolrCloud,那么还需要了解分布式搜索和存储的概念,如Sharding(分片)、Replication(复制)和ZooKeeper(协调节点)。 9. **Spring Data Repository**:项目可能使用了...

    百度持续交付项目组面试题

    在Java中可以通过继承`Thread`类或实现`Runnable`接口的方式来创建线程。 **继承Thread类**: ```java class MyThread extends Thread { public void run() { System.out.println("Thread running"); } } ...

    solr-5.2.1.tgz

    对于初学者,可以尝试运行提供的 demo,它通常包含了创建集合、上传示例数据和执行搜索的基本步骤。同时,Solr 的官方文档是了解和学习 Solr 的宝贵资源,包含详细的配置指南和使用教程。 总之,无论是 Solr 4.7.1 ...

Global site tag (gtag.js) - Google Analytics