solr进阶-动态配置管理
来源:互联网 发布:java运行jar包中的类 编辑:程序博客网 时间:2024/05/16 06:37
solr提供了DIH并集成tika,因此配置db、文档索引都会感觉到非常方便,但是如果你的业务要求你的程序必须能在友好的UI中配置DB导入,程序员刚上来难免一脸蒙逼了。
基于solr的DB导入管理功能的开发首先要解决解决以下三个问题(本篇主要针对2进行介绍):
1、solr服务的代理调用
2、solr配置文件的远程操作
3、solr配置文件的结构化读写
新增数据库表的导入需要对db-data-config.xml、schema.xml等文件中的内容进行动态修改、重新载入并执行dataimport使其生效。那么问题来了,solr服务与应用不在一个物理主机上,应用该如何操作远程的配置?你可能会有以下思路:
1、在solr服务器上搭建文件服务
2、研究solr http rest api,试图找到其对配置修改并重载的方法,并保留对solr进行扩展的极端手段
3、使用solr内置的zookeeper服务
让我们逐一分析以上思路的利弊:
1、需额外增加服务,应用需增加针对该文件服务的工具引入和对应代码,如果后期搭建solr集群,会使文件管理变得非常复杂,果断pass。
2、个人没有找到写配置的rest api,扩展solr可对单节点solr服务有良好支持,但对于solrcloud仍是噩梦,继续pass。
3、solr内置zookeeper服务,zk也是solrcloud分布式配置的实现,zk提供易用的节点操作的java api,此方案在实现复杂度、扩展性、兼容性方面均占据绝对优势,果断选取。
选定方案后,思路变得清晰了。zookeeper节点的远程操作,需要zookeeper.jar工具包支持,增加读写操作如下:
byte[] bytes = zooKeeper.getData(path, null, null);//读zooKeeper.setData(path, bytes , -1);//写
操作详见zookeeper api
于是配置文件的远程操作则大功告成了!
但是!应注意以下问题
1、读写操作应注意规避系统默认编码问题
2、solr zk后续启动不要覆盖已维护的配置
1 0
- solr进阶-动态配置管理
- solr进阶
- Solr 进阶
- solr查询进阶
- solr使用进阶
- solr进阶--摘要生成
- solr进阶五:Solr缓存技术
- solr进阶六:单机版Solr Cloud
- solr进阶二:新建core
- solr进阶二:新建core
- 配置管理
- 配置管理
- 配置管理
- 配置管理
- 配置管理
- 配置管理
- 配置管理
- 配置管理
- MySQL for Windows 数据库 ZIP 版本安装过程
- java 多线程基础
- java面试题(三)
- chengfabiao
- ios实现apple pay
- solr进阶-动态配置管理
- 【文章转载】解引用的解释
- 16.12.24 C组总结
- 关于java 线程安全的总结
- java面试题(四)
- 自定义标签实现遍历集合
- C++ IPv4与IPv6的兼容编码
- 性能测试TPS目标值确定-二八原则
- thinkphp3.2链接数据库报No such file or directory错误解决方案