自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

强强强子的博客

交流 学习 随笔

原创 About ME

github:https://github.com/zhuzhiqiang18QQ:1048222543

2019-11-21 10:13:28 142

原创 ES term之大小写

ES term之大小写问题解决问题重现问题查看mapping映射以及_analyze API测试定位问题结论如果不想看啰嗦的事由可以直接跳到结论问题同事说ES搜索,有些能搜索到,而有些确定是有数据的但是无法搜索出来。解决问题重现问题向同事要了所要搜索的索引 和 字段以及搜索参数,验证下同事使用姿势是否正确。结果果然如同事所说,问题重现,无法匹配。查看mapping映射以及_analyze API测试发现这个字段是一个type为text 分词方式为 自定义正则分词器以“,”(逗号)分割。使用

2020-07-27 11:40:29 26

原创 ES调优后的故事: CMSGC

前戏上篇文章一番优化后,依然存在请求响应偶发超时,看来上次调优简直是赠送的惊喜发现。重新思考不是查询语句和数据结构引起的慢查询,那为什么会偶发的超时,排查超时时间范围内的日志,并没有大量的突发请求,这让本来不精通ES的我雪上加霜!但是咱能怎么办,只能撸起袖子加油干!(我太难了)查询资料得到几个API技能//集群线程池情况GET /_cat/thread_pool?v//集群热点线程...

2020-04-28 13:20:30 126

原创 记一次ES查询调优(ES5.x)

事由应用部门反应搜索中间件,响应速度偶然过慢,查询搜索日志发现不定时会有超过2s的响应。排查分析DSL,看下DSL是否使用不当,一番检查后没有发现DSL异常。使用Search Profiler分析DSL,结果如下图:status=0 这个条件竟然使用了10.5ms 并且status类型是int 使用term查询,结果超乎想象。分析问题为什么number类型的竟然需要查询那么久,生产环...

2020-04-28 10:54:25 146

原创 Kafka简单使用示例

kafka简介Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.简单来说,就是一个分...

2020-04-02 15:45:01 94

转载 [译] Practical BM25 - Part 3: 怎样选取 Elasticsearch 的 b 和 k1 参数

《Practical BM25》系列文章来自于 elastic 官方博客,共分为三部分,讲解了 Elasticsearch 的默认相似度算法 BM25 的原理。本篇为第三部分的中文翻译,原文链接 Practical BM25 - Part 3: Considerations for Picking b and k1 in Elasticsearch选取 b 和 k1值得注意的是,当你的用户...

2020-03-30 13:10:53 232

转载 [译] Practical BM25 - Part 2: BM25 算法和它的变量们

BM25 算法本文中我会深入数学细节,以足以解释究竟发生了什么,但这只是通过分析BM25公式的结构,探究究竟发生了什么的部分。首先我们看一下公式的整体,随后我们对于每个组成部分进行分别讲解:我们可以看到,公式中有一些东西经常出现,如qi, IDF(qi), f(qi,D), k1, b, 以及关于field长度的变量。下面是这些变量代表的意义qi 代表第i个查询term例如,在搜索"...

2020-03-27 09:37:09 166

转载 [译] Practical BM25 - Part 1: 分片是如何影响 Elasticseach 相关性评分的

[译] Practical BM25 - Part 1: 分片是如何影响 Elasticseach 相关性评分的背景理解分片如何影响评分背景我们在Elasticsearch 5.0中,把默认的相似度算法换成了Okapi_BM25,用它来计算某条查询结果的得分。我不想在这篇文章中对BM25与其他的备选算法做深入的对比,如果你想学习BM25的理论,可以看看Elastic{ON} 2016上的BM2...

2020-03-25 14:28:13 75

原创 源码透视 elasticsearch 衰减函数EXP 计算过程

版本声明以下内容都是基于elasticsearch-6.3.2.jar一、kibana开启调试“explain”: true 会打印分数计算过程{ "value": 2.0702924e-8, "description": "Function for field createdAt:", ...

2020-02-18 20:00:57 324 1

原创 ElasticSearch 重建索引 _reindex

前言何为重建索引在原index的基础上copy一份数据在新index(字段相同,类型可不相同)。为什么有重建索引的需求当分词插件变更,数据类型改变等等。(当然也可以直接重跑一份数据)如何重建索引请借步参阅官网文档https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs-reindex.html生产案例需求需要...

2019-11-22 11:20:36 342

原创 解决kibana Long丢失精度 script_fields

在使用kibana中 会发现Long精度会丢失 导致查询出的数据不准确。可以借助ElasticSearch的script fields API。官方文档script_fields使用示例GET index/_search{ "query": { "match": { "tid": "9331566986879872" } },"script_fiel...

2019-11-21 18:15:49 543

原创 ElasticSearch _update_by_query 更改数据

官网说明https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs-update-by-query.html使用示例POST twitter/_update_by_query{ "script": { "source": "ctx._source.likes=58;ctx._source.title='中文';...

2019-11-21 15:35:58 436

原创 更改ElasticSearch的相关度算法,以BM25为例(非修改源码)

官网说明https://www.elastic.co/guide/en/elasticsearch/reference/6.5/index-modules-similarity.html#bm25{ "settings": { "analysis": { "analyzer": { "comma": { "type": "pattern...

2019-11-21 15:21:03 907

原创 ElasticSearch IDF BM25 函数图像

什么是IDF?逆向文件频率(inverse document frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取以10为底的对数得到IDF函数图像es 的idf公式:idf=log(1 + (docCount - docFreq + 0.5) / (docFreq + 0.5))当docCount 既...

2019-07-28 18:56:38 365

原创 剖析ElasticSearch的评分计算过程

剖析elasticsearch的评分计算过程es搜索结果是怎样的排序的?准备测试数据搜索剖析参数含义结论es搜索结果是怎样的排序的?es的排序准则的相关度,根据搜索 关键词 计算关键词在一个文档中的得分,得分越高结果越靠前。那么计算的准则是什么?TF/IDFBM25这两种算法在这里我就先不做详细说明,看下图,两种算法的得分趋势图。TF/IDF会随着关键词出现的次数得分逐渐增高,BM...

2019-07-28 17:49:53 765

原创 蚂蚁金服 Java开发专家 一面在线编程题

//1、用java代码实现LinkedList的add()和remove()方法。要求自行设计LinkedList数据结构,不要外部类库和辅助函数来处理。2、有三个线程ID分别是A、B、C,请用多线编程实现,在屏幕上循环打印10次ABCABC,请补充以下代码:public class Test { public static void main(String[] args) {...

2019-04-11 20:59:34 1565 1

原创 SKU排列算法

java版 public static void main(String[] args) { Object sku [] = new Object[3]; String s1[]={"黑","白"}; String s2[]={"x","xl","xxxl"}; String s3[]={"长","短"}; sku[...

2019-03-28 17:39:45 1712

原创 利用FRP 远程内网中的电脑 支持Windows linux

利用FRP 远程内网中的电脑 支持Windows linuxFRP工具配置启动frps.ini配置启动frpc.ini远程内网windows桌面FRPfrp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。下载地址:https://github.com/fatedier/frp/releases中文文档:https://github.co...

2019-01-08 12:09:42 1141

原创 Nginx 主备 实现 后端不停机维护

#均衡负载 主备 upstream aaa { server 127.0.0.1:8888 max_fails=1 fail_timeout=600s; server 127.0.0.1:9999 backup; } server { listen 80; server_name ww...

2018-08-30 17:08:03 1505

原创 CentOS7 JavaWeb环境搭建(JDK、Tomcat、Mysql、vsftpd)

JDK的安装CentOS默认安装了JDK 我们先把他卸载。 java -version #查看是否安装JAVA 以及Java版本 rpm -qa|grep java #查看JDK信息(搜索关键字Java) rpm -e –nodeps [softName] 卸载softName安装JDK(提前在官网下载gz或者rpm压缩包) mkdir /usr/java ...

2018-02-11 20:59:41 564

原创 脚本自动化部署

使用Bat脚本自动化部署JavaWeb程序本篇文章是个人经验所为,并非行业标准操作。服务器系统环境:Server windows 2008部署环境:Tomcat8自动化方式:bat脚本。工具:SVN,idea我的问题: 使用IDEA开发JavaWeb应用,放到生产环境上。需要打war包,上传到服务器,然后运行服务器上的Tomcat,之后会自动解压war包,

2018-01-25 13:24:27 1730 1

原创 Integer缓冲池[-128,127]

Integer 是 int的封装类。有时候不得不用引用类型。比如集合里面的泛型。 如果在项目中你使用了Integer那么你可能就会陷入一个巨大的坑中。 Integer i=1290; Integer ii=1290; System.out.println(i==ii);//1 false System.out.println(

2018-01-10 11:57:40 539

原创 基于JQuery的图片上传预览插件(图片预览、过滤文件类型、限制图片大小、图片显示后回调)

/* *名称:图片上传本地预览插件 *介绍:基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari *参数说明: Img:图片ID; * Width:预览宽度; * Height:预览高度; * ImgType:支持文件类型; * maxSize图片大小; * Callbac

2017-12-18 14:41:38 2368

原创 实际问题:水印平铺,以二维规则小图形对大图形进行填充问题解决

实际问题: 在功能开发中,我们会遇到有关水印的需求,eg:实名认证,在身份证上打上水印等等。 解决思路: 利用文章 二维规则小图形对大图形进行填充,求出最左上坐标 来解决实际问题。 水印图片可以看做是小图形,加水印的图片为大图 解决方案 利用Java Graphics2D类来进行图片叠加。附上各种水印位置的工具类/** * 添加图片

2017-12-18 14:23:05 493

原创 二维规则小图形对大图形进行填充,求出最左上坐标

小图对大图形进行填充,忽略最右侧是否溢出,忽略最下侧是否溢出,求出小图形左上侧的坐标,从(0,0)开始,如下图: 分析: 从图上看,可以看成一个水平坐标系。坐标(0,0)在最左上侧。 不考虑左侧和下侧是否溢出,我们就看成最好的情况,正好填充整个大图形。 X轴按照长方形的宽进行递增 Y轴按照长方形的高进行递增 利用双层for来解决 第一层循环看做为x轴 跳

2017-12-16 16:15:04 378

原创 织梦dedecms 后台左侧菜单栏空白问题(PHP7)

解决PHP7下dedecms后台左侧菜单栏不显示问题问题: 在安装好织梦的dedecms网站后,打开后台管理发现左侧菜单栏不显示,空白。解决方案 dedecms对php7支持不友好。 替换include下的几个类即可。 下载地址 https://github.com/qiangzi123/attachment/blob/master/%E8%A7%A3%E5%86%B3d

2017-12-06 18:13:55 4361 1

原创 nginx+php在 window下 自动退出 php-cgi解决方案

项目需求 需要用到PHP程序。 服务器上已经有了Nginx 就直接nginx php组合了。但是发现一个奇怪的问题,使用php-cgi.exe方式启动 过一段时间 php-cgi 就会自动退出。以下解决方案,来自于网络。我尚且不知道原理,由于工作原因未继续探索。解决方案第一步:下载xxfpm,RunHiddenConsole,可以自行百度(后面会提供集合工具包下载)。第二步:编写bat脚

2017-10-29 16:34:57 2579

原创 Jfinal整合EhCache

Jfinal整合EhCacheJfinal内部已经封装了EhCahe,并作为Plugin存在,我们只需开启就行了。//加载EhCache配置文件 EhCachePlugin ehCachePlugin=new EhCachePlugin(getClass().getClassLoader().getResource("ehcache.xml")); //启动ehCachePlugin me.a

2017-09-27 17:55:33 1262

原创 Mysql服务器丢失后的修复

阿里云服务器,正式生产环境。只有Java、mysql、nginx环境,新项目是PHP语言的,为了省事就下载了phpstudy的集成环境(集成环境会自动安装Apache nginx php mysql组合)。结果原本的mysql的服务丢失,导致原有服务器上的项目全部崩溃(好慌)。解决方案: 1. 找到mysql安装目录。 2. cmd下进入bin目录 3. 输入mysqld.exe –inst

2017-08-16 19:17:10 522

原创 Maven聚合&继承

聚合 多个本地Maven项目如果都要安装到本地仓库中,我们就要依次执行 install 命令,maven有一种方式可以使其多个项目只需执行一次install 命令即可全部安装至本地仓库中,这种方式就叫做聚合。现在我们有3个maven项目 project01、project02、 project03 让它们三个聚合在一块然后安装至本地仓库。 1. 新建一个maven项目 mavenProje

2017-08-15 14:21:44 608

原创 Maven 依赖冲突

由于依赖的传递性,就会产生依赖冲突,那么maven会怎样处理冲突呢?短路优先 顾名思义,就是选择路径短的进行依赖。示例还是用上篇文章中的三个项目。 我们在中央仓库(https://mvnrepository.com)中随便找一个jar,我们使用Apache Commons IO的2.0版本和2.5版本 在project01中依赖commons-io 2.0在project02中依赖co

2017-08-08 18:40:08 613

原创 Maven 依赖范围、依赖传递、排除依赖

依赖范围 回顾下maven构建坐标的构成,如下<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dep

2017-08-08 18:10:07 14988 4

原创 在eclipse中创建Maven项目

在正常的项目开发中,我们肯定要使用优秀的第三方IDE开发,这不仅可以加快开发效率,还有助于排错、代码提示等。 我使用的是JUNO版本的eclipse,其中已经安装的有maven插件,我们只需配置到本地的maven环境即可。在eclipse中配置maven环境打开eclipse。配置本地maven安装位置window->Preferences->Maven->Installations点击Ad

2017-08-07 21:03:47 1035 4

原创 Maven install命令

每一个构建都需要唯一的坐标来标识位置,我们根据坐标位置就能够下载构建至本地仓库。那么如果我们是内部项目,自定义的构建并不公开至网络上,项目成员又想依赖他怎么办呢?想想maven找寻构建的步骤。 先找寻本地仓库,本地仓库不存在,找寻远程仓库或者私服。 我们只需把自定义的构建安装至私服或者本地仓库中就行了。这就需要maven的install命令。install 把自定义的maven项目

2017-08-02 11:08:26 27262

原创 Maven坐标和仓库

学到这里,我们回想下,maven的作用之一就是帮我们自动下载依赖jar,但是这个jar在哪里下载呢?又保存在那呢?坐标 maven项目中的任何一个依赖jar或插件都称为构建,每一个构建通过坐标作为其唯一的标识。 其中groupId、artifactId、version都能组合成坐标。仓库 maven仓库分为两种,本地仓库和远程仓库。项目中添加依赖jar时,maven会根据坐标先在本

2017-07-31 20:06:05 787

原创 Maven项目构建命令compile、test、package

compile 前面我们按照maven约束好的文件路径建好项目后,加入pom.xml 在命令行输入mvn compile后,maven就会自动帮我们下载依赖jar,为代码生成字节码文件等。我们把这个过程称为 编译。test 前面我们写好测试类,在命令行输入 mvn test 项目会新增surefire-reports(测试报告) 、 test-classes(测试类字节码)两个文件夹。我

2017-07-28 09:32:19 23731

原创 pom.xml 详解

什么是pom? pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。pom详解<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven

2017-07-25 09:31:51 597

原创 Maven之HelloWorld

Maven项目结构根据上图创建Maven项目新建MavenProject01的maven项目,如下图 上图已经把maven的项目结构建立完成,我们来写点代码吧 在src/main/java下新建package com.zzq.maven.mode 建立HelloWorld类如下package com.zzq.maven.model;public class HelloWorld{

2017-07-21 10:40:37 631

原创 windows下Maven环境搭建

Maven的下载官网http://maven.apache.org/点击Download进入下载页面点击 apache-maven-3.5.0-bin.zip进行下载Maven的安装 Maven是一个绿色软件,无需安装,只需要配置环境变量即可,类似于Tomact。 1. 解压下载的文件 2. 添加M2_HOME变量 3. 添加M2_HOME至Path变量内图示(操作系统W

2017-07-19 11:04:12 298

原创 快速学Maven

写在前面的话 场景需求:需要搭建一个SSH的架构,我们首先会先在各个框架的官方下载相关jar包。框架还没有搭起来,jar就有百十个了,有用的,无用的,版本冲突,重复的。删吧,不知道那些有关联,不删吧,项目太臃肿。感谢开源世界的大神分享出Maven、Ant、gradle等项目管理与构建工具。它们的出现让我们方便的管理自己的项目。接下来我们就来介绍下Maven。Maven的简介Windows下的M

2017-07-19 10:13:02 406

提示
确定要删除当前文章?
取消 删除