最近开发需要用到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();
}
比较简单,但是解决了我目前的问题,如果有人在研究,请多多指点。
分享到:
相关推荐
solr部署在tomcat势必要设置用户权限,所以客户端solrj在创建连接的时候也需要用户名加密码
SolrJ 提供了一组 Java API,可以用来创建、更新和查询 Solr 索引,以及执行其他管理任务。 在提供的压缩包文件中,包含了多个与 SolrJ 相关的 Jar 包,这些文件是 SolrJ 及其依赖组件的核心组成部分: 1. **solr-...
而"solr-solrj-6.1.0.txt"可能是相关的文档或日志文件,提供了关于该版本的更多信息,如使用指南、API文档或变更记录。 总的来说,Solr-Solrj 6.1.0是Java开发者连接和操作Solr服务器的强大工具,它使得与Solr的...
在实际开发中,SolrJ通过提供简单的Java接口,使得开发者可以方便地执行以下操作: 1. 创建和管理Solr核心(Collection)。 2. 向Solr服务器发送索引文档,支持单个和批量操作。 3. 执行各种查询,包括基本查询、...
总的来说,Solr-Solrj 5.0.0是Java开发者与Solr集成的有力工具,尤其在处理中文文本时,通过合理的配置和使用分词器,可以实现高效、准确的全文搜索。在实际项目中,开发者还应关注性能调优、错误处理以及与其它系统...
通过编写针对SolrJ功能的测试用例,开发者可以验证SolrJ的各种操作,如建立索引、查询、更新等是否按预期工作。 3. **Commons IO-2.4**: - Apache Commons IO是Apache软件基金会的一个项目,提供了各种I/O操作的...
SolrJ提供了一系列API,用于创建Solr服务器实例、构建查询请求、解析响应以及添加、删除和更新Solr索引中的文档。这些API极大地简化了与Solr交互的过程,避免了直接处理HTTP请求和JSON响应的复杂性。 要使用SolrJ,...
SolrJ是Apache Solr官方提供的Java客户端库,它使得在Java应用程序中与Solr搜索引擎进行交互变得简单。Solr是一个高性能、可扩展的企业级全文...通过熟练掌握SolrJ,你可以更高效地构建和管理基于Solr的搜索解决方案。
solrj工具类封装,包括条件批量查询,批量增删改,分段修改。
### Solr配置与SolrJ使用详解 #### 一、Solr基本安装与配置 ...通过上述步骤,您可以完成Solr的基本安装与配置,以及实现基于SolrJ的文档索引与查询功能。这些操作为构建高效的全文搜索系统奠定了基础。
doc.addField("content", "这是一个关于SolrJ的详细教程..."); client.add(doc); ``` **4. 提交更改** 添加文档后,记得调用`commit()`方法提交更改,使它们生效: ```java client.commit(); ``` **5. 查询文档**...
solr-solrj-4.9.0.jar
solr-solrj-4.10.3.jar。
- **4.4 使用SolrJ创建索引**:介绍如何使用SolrJ创建和管理索引。 ##### 4.5 Solrj包的结构说明 - **4.5.1 CommonsHttpSolrServer**:通过HTTP协议与Solr交互的客户端。 - **4.5.2 Setting XMLResponseParser**:...
下载后会获得名为: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客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询
solr-solrj-6.6.0.jar
solr详细配置教程与solrj的使用
solrJ是Java连接solr进行查询检索和索引更新维护的jar包。