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(); } } }
相关推荐
在"app-BASE-SearchEngine.xml"中,我们需要定义一个Bean来实例化CloudSolrClient,设置ZooKeeper的连接字符串,以及选择要操作的Solr集合。 以下是一个基本的Spring配置示例: ```xml <value>zkHost=your_...
- **Java 1.8支持**:Solr 7.2.1构建于Java 1.8之上,利用了Java 8的新特性,如Lambda表达式和Stream API,提高了代码的简洁性和性能。 - **性能优化**:这一版本对索引和查询速度进行了优化,使得搜索响应时间更...
9. **数据导入**:使用Solr的数据导入处理程序(DIH)或者SolrJ库将数据导入到集合中。DIH支持多种数据源,如CSV、XML和数据库。 10. **监控与故障恢复**:通过ZooKeeper和Solr的监控界面检查集群健康状况。当节点...
2. 集成Solr到Java应用:使用SolrJ客户端库,将Solr集成到Java应用程序中,实现数据的实时索引和搜索。 3. 调优和监控:优化Solr的配置,监控性能指标,确保系统的稳定性和高效性。 4. 高级特性:探索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"); } } ...
对于初学者,可以尝试运行提供的 demo,它通常包含了创建集合、上传示例数据和执行搜索的基本步骤。同时,Solr 的官方文档是了解和学习 Solr 的宝贵资源,包含详细的配置指南和使用教程。 总之,无论是 Solr 4.7.1 ...