当前位置: 首页 > news >正文

电影网站源码系统wordpress 安装乱码

电影网站源码系统,wordpress 安装乱码,如何管理网站域名,网站前端是做啥的项目场景#xff1a; 项目中需要把Mysql数据同步到ElasticSearch中 问题描述 数据传输过程中数据不时出现丢失的情况#xff0c;偶尔会丢失一部分数据#xff0c;本地测试也无法复现#xff0c;后台程序也没有报错#xff0c;一到正式环境就有问题,很崩溃 这里是批量操…项目场景 项目中需要把Mysql数据同步到ElasticSearch中 问题描述 数据传输过程中数据不时出现丢失的情况偶尔会丢失一部分数据本地测试也无法复现后台程序也没有报错一到正式环境就有问题,很崩溃 这里是批量操作的代码 private void bulk(ListIndexRequest indexRequests) throws Exception {try {// 在这里可以对你获取到的批量结果数据进行需要的业务处理BulkProcessor bulkProcessor BulkProcessor.builder((req, bulkListener) - restHighLevelClient.bulkAsync(req, RequestOptions.DEFAULT, bulkListener),new BulkProcessor.Listener() {private int totalCount 0;Overridepublic void beforeBulk(long executionId, BulkRequest request) {}Overridepublic void afterBulk(long executionId, BulkRequest request, BulkResponse response) {// 统计条数并输出信息int count response.getItems().length;totalCount count;log.info(批量操作 [{}] 成功执行了{}条请求共处理了{}条数据, executionId, count, totalCount);}Overridepublic void afterBulk(long executionId, BulkRequest request, Throwable failure) {log.error(数据处理失败,执行id为{}错误信息为{}, executionId, failure);}}).setConcurrentRequests(esproperties.getThreadSize())/*并发请求的数量。默认为1。*/.setFlushInterval(TimeValue.timeValueSeconds(30)) // 固定30s必须刷新一次.setBulkSize(new ByteSizeValue(10L, ByteSizeUnit.MB)) // 5MB batch size.setBulkActions(esproperties.getBulkActions()) // 每次执行最多处理5000个请求.setBackoffPolicy(BackoffPolicy.exponentialBackoff(TimeValue.timeValueMillis(100), 3)).build();indexRequests.forEach(bulkProcessor::add);bulkProcessor.close();} catch (Exception e) {e.printStackTrace();throw new Exception(e);}}原因分析 当时想到的问题是这里是不是数据格式有问题因为采用的是异步就是错误了也不会影响到其它数据的插入 接着就定位到了这段代码想想是不是哪里没有处理错误的数据信息所以没有打印出来果然发现了BulkResponse 这个类是可以处理每个错误信息的接着就优化了代码如下 其实只需要修改afterBulk 方法遍历出现的异常就能够打印出导入不进去的错误信息 Override public void afterBulk(long executionId, BulkRequest request, BulkResponse response) {// 统计条数并输出信息 // int count response.getItems().length; // totalCount count; // log.info(批量操作 [{}] 成功执行了{}条请求共处理了{}条数据, executionId, count, totalCount);if (response.hasFailures()){for (BulkItemResponse itemResponse : response) {if (itemResponse.isFailed()) {log.info(数据写入失败错误信息为{},itemResponse.getFailureMessage());}} // log.info(数据写入失败{},response.buildFailureMessage());} }解决方案 接着修改代码后把新的包放上去执行终于找到了错误信息 下面是错误信息的截图 报错 Limit of total fields 1000 这里就能看出来是字段数量大于1000了因为我的是宽表而之前创建的索引字段数量都是小于1000的新的索引结构数量大于1000找到问题就好办了 在kibana执行下面脚本修改字段限制根据实际情况来没有kibana就写出curl 请求 PUT 你的索引名/_settings {index: {mapping.total_fields.limit: 2000} }总结 没有测试好宽表字段比较多的情况写代码的时候以为很简单不会出现问题所以日志也比较随便。日常开发要打印好日志它能够在出现错误的情况下很快的帮我们定位出问题所在。
http://wiki.neutronadmin.com/news/390549/

相关文章:

  • 个人简介网页设计代码游戏交易类网站seo怎么做
  • 响应式网站模板dede网站建设注意细节问题
  • 哪个网站查企业信息免费山东省建设工程质量安全协会网站
  • 自主建网站企业网站建设的目的有哪些
  • 北京网站首页排名公司店面设计师哪里找
  • 网站制作方案要点苏州app开发
  • 公司网站开发需要做哪些事如何向谷歌提交网站
  • 定制网站开发公司电话上海装修公司排名2021
  • 网站建设的方案上海网站设计制作报价
  • 网站建设维护公司排名个人网站主页
  • 优秀个人网站做网站标签栏的图片大小
  • 宁德营销型网站建设网站被降权表现
  • 网站备案后经营个性化网页设计
  • 优化网站的软件下载建筑工程网校排行榜
  • 最便宜的网站建设建设个人博客网站制作
  • 公司网站建设属于软件销售国外企业网站设计欣赏
  • pdf怎么做电子书下载网站微信小程序开通流程
  • 怎样网站优化公司个人网站备案要多久
  • 网站的关键词怎么设置南京百度seo
  • 懒人做图网站最新军事新闻热点事件
  • 发布了一个网站 显示建设中表格做网站
  • 智能网站建设维护软件手机网站 焦点图
  • 北京市保障性住房建设中心网站wordpress二次开发手册
  • 素材网站怎么推广做网站跟客人怎么沟通
  • 中小型企业网站建设申请企业资助建设网站
  • 怎么给自己的品牌做网站如何做好网页设计
  • 网站建设单页装修公司怎么找客源最有效
  • 大连网站建设哪里好中国建筑集团有限公司怎么样
  • 网站开发广告语大全品牌策划设计
  • 常德建设网站多少钱如何搭建wordpress商城