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

关于通过solrj创建core心得

阅读更多
最近开发需要用到solr全文检索,由于有多种数据,希望把这些数据所见的索引进行分类查询,于是就了解了solr的multiCore。在网上找了很多资料没有找到我想要的例子,最终通过群里的一些朋友帮助熟悉了CoreAdminRequest这个类对我很有用,于是就根据提供的api最终实现了core的添加。以下是代码
try {
			//连接solr服务器
			HttpSolrServer server=new HttpSolrServer("http://localhost:8080/solr");
			//获得solr.xml配置好的cores作为默认,获得默认core的路径
			String path=(String) CoreAdminRequest.getStatus("core0",server).getCoreStatus().get("core0").get("instanceDir");
			//获得solrhome,也就是solr放置索引的主目录
			String solrHome=path.substring(0,path.indexOf("core0"));
			//建立新core所在文件夹
			File corePath=new File(solrHome+File.separator+coreName);
			if(!corePath.exists()){
				corePath.mkdir();
			}
			//建立新core下的conf文件夹
			File confPath=new File(corePath.getAbsolutePath()+File.separator+"conf/");
			if(!confPath.exists()){
				confPath.mkdir();
			}
			//将默认core下conf里的solrconfig.xml和schema.xml拷贝到新core的conf下。这步是必须的因为新建的core solr会去其conf文件夹下找这两个文件,如果没有就会报错,新core则不会创建成功
			CoreContainer.fileCopy(new File(path+"conf/solrconfig.xml"), new File(confPath.getAbsolutePath()+File.separator+"solrconfig.xml"));
			CoreContainer.fileCopy(new File(path+"conf/schema.xml"), new File(confPath.getAbsolutePath()+File.separator+"schema.xml"));
			//创建新core,同时会把新core的信息添加到solr.xml里
			CoreAdminRequest.createCore(coreName, coreName, server);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (SolrServerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

比较简单,但是解决了我目前的问题,如果有人在研究,请多多指点。
分享到:
评论
1 楼 lixunhui 2013-12-02  
不错,但是你用的是哪个版本的,4.4版本好像没有CoreContainer.fileCopy方法

相关推荐

    solrj创建连接工厂

    solr部署在tomcat势必要设置用户权限,所以客户端solrj在创建连接的时候也需要用户名加密码

    SolrJ6.3.0

    SolrJ 提供了一组 Java API,可以用来创建、更新和查询 Solr 索引,以及执行其他管理任务。 在提供的压缩包文件中,包含了多个与 SolrJ 相关的 Jar 包,这些文件是 SolrJ 及其依赖组件的核心组成部分: 1. **solr-...

    solr-solrj-6.1.0

    而"solr-solrj-6.1.0.txt"可能是相关的文档或日志文件,提供了关于该版本的更多信息,如使用指南、API文档或变更记录。 总的来说,Solr-Solrj 6.1.0是Java开发者连接和操作Solr服务器的强大工具,它使得与Solr的...

    solr-solrj-4.10.3.jar和solr-solrj-5.0.0.jar

    在实际开发中,SolrJ通过提供简单的Java接口,使得开发者可以方便地执行以下操作: 1. 创建和管理Solr核心(Collection)。 2. 向Solr服务器发送索引文档,支持单个和批量操作。 3. 执行各种查询,包括基本查询、...

    solr-solrj 5.0.0 demo

    总的来说,Solr-Solrj 5.0.0是Java开发者与Solr集成的有力工具,尤其在处理中文文本时,通过合理的配置和使用分词器,可以实现高效、准确的全文搜索。在实际项目中,开发者还应关注性能调优、错误处理以及与其它系统...

    solrJ 需要的jar文件 (全)

    通过编写针对SolrJ功能的测试用例,开发者可以验证SolrJ的各种操作,如建立索引、查询、更新等是否按预期工作。 3. **Commons IO-2.4**: - Apache Commons IO是Apache软件基金会的一个项目,提供了各种I/O操作的...

    SolrJ需要的jar包

    SolrJ提供了一系列API,用于创建Solr服务器实例、构建查询请求、解析响应以及添加、删除和更新Solr索引中的文档。这些API极大地简化了与Solr交互的过程,避免了直接处理HTTP请求和JSON响应的复杂性。 要使用SolrJ,...

    solrj的使用

    SolrJ是Apache Solr官方提供的Java客户端库,它使得在Java应用程序中与Solr搜索引擎进行交互变得简单。Solr是一个高性能、可扩展的企业级全文...通过熟练掌握SolrJ,你可以更高效地构建和管理基于Solr的搜索解决方案。

    solrj工具类封装

    solrj工具类封装,包括条件批量查询,批量增删改,分段修改。

    solr配置和solrJ的使用

    ### Solr配置与SolrJ使用详解 #### 一、Solr基本安装与配置 ...通过上述步骤,您可以完成Solr的基本安装与配置,以及实现基于SolrJ的文档索引与查询功能。这些操作为构建高效的全文搜索系统奠定了基础。

    solrj使用教程

    doc.addField("content", "这是一个关于SolrJ的详细教程..."); client.add(doc); ``` **4. 提交更改** 添加文档后,记得调用`commit()`方法提交更改,使它们生效: ```java client.commit(); ``` **5. 查询文档**...

    solr-solrj-4.9.0.jar

    solr-solrj-4.9.0.jar

    solr-solrj-4.10.3.jar

    solr-solrj-4.10.3.jar。

    Solrj 中文教程

    - **4.4 使用SolrJ创建索引**:介绍如何使用SolrJ创建和管理索引。 ##### 4.5 Solrj包的结构说明 - **4.5.1 CommonsHttpSolrServer**:通过HTTP协议与Solr交互的客户端。 - **4.5.2 Setting XMLResponseParser**:...

    solr-core-4.6.0.jar solr-solrj-4.6.0.jar

    下载后会获得名为:solr_core.4.6.0 的zip包,解压后会获得solr-core-4.6.0.jar和 solr-solrj-4.6.0.jar两个文件,搭建solr全文检索环境必须要添加的包

    solr-solrj-4.4.0.jar

    solr-solrj-4.4.0.jar

    java solr solrj 带账号密码增量查询添加索引

    主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询

    solr-solrj-6.6.0.jar

    solr-solrj-6.6.0.jar

    solr详细配置教程与solrj的使用

    solr详细配置教程与solrj的使用

    solr-solrj-5.5.0.jar

    solrJ是Java连接solr进行查询检索和索引更新维护的jar包。

Global site tag (gtag.js) - Google Analytics