- 博客(83)
- 资源 (2)
- 收藏
- 关注
原创 elasticsearch参数copy_to
在使用elasticsearch时遇见了这样的需求:es聚合指定字段时聚合的结果里面只显示聚合的字段。但是在做报表时,我们发现一个问题:如果我们对员工进行聚合,但是我们还希望查看当前员工所在的班组,部门等信息。这时如果查询es两次,对于效率来说是不好的。所以我们在这里使用一个es的字段特性:copy_to使用的步骤:1、创建mappingPUT my_index{ "mappi
2018-01-03 18:51:14
12822
原创 判断文件上传时文件的类型
系统中需要用到文件上传的功能,但是从系统安全的角度上来说需要判断上传文件的格式,防止将病毒木马等有害的文件上传到服务器上。判断文件类型有三种方式1、通过文件后缀名这个方法简单容易,但是也是最容易被欺骗的方法,修改文件的后缀名即可实现欺骗系统。2、通过Content-Type判断这个是通过判断文件的MIME类型进行判断,我们在通过form表单上传文件时,在上传的request域里
2018-01-02 19:40:23
19238
转载 elasticsearch线程池
每个Elasticsearch节点内部都维护着多个线程池,如index、search、get、bulk等,用户可以修改线程池的类型和大小,线程池默认大小跟CPU逻辑一致。一、查看当前线程组状态[html] view plain copycurl -XGET 'http://localhost:9200/_nodes/sta
2017-12-27 21:00:05
1006
原创 基于haneWIN实现windows与linux之间文件共享
一、haneWIN简介 1、haneWIN是在windows系统上搭建NFS Server的软件。2、NFS是网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。3、下载网址:http://www.hanewin.net/nfs-e.ht
2017-12-26 14:26:45
13177
3
原创 Linux命令
本人整理一些日常用到的linux命令 1、查看指定tcp端口的进程号 fuser -n tcp 5601 2、后台启动kibana并将日志输入到当前路径下的kibana.log下 2>&1表示错误日志与正确日志都打印到指定文件夹下 nohup ./bin/kibana >> ./kibana.log 2>&1 & 3、全局查找指定名字文...
2017-12-07 17:58:10
242
转载 linux下mount命令实现文件跨服务器的挂载
两台linux服务器之间实现挂载: 服务端: 1、首先需要在主机上设置允许挂载的目录 (1)修改 /etc/exports,增加共享目录 这里主机是指服务端(要共享的目录) /srv/www/app/wtcms/webroot/upload 10.10.10.*(ro,sync,no_root_squash) /home/abcd/share*(insecure,rw,
2017-12-07 17:35:32
8173
原创 elasticsearch实现远程索引复制
1、环境准备elasticsearch5.x2、配置文件设置在elasticsearch.yml配置文件中添加白名单,这里的白名单表示允许远程指定ip上的es访问我的es 在elasticsearch.yml文件中添加:reindex.remote.whitelist: [“ip:9200”,”ip2:9200”] 注意:1、多个ip地址时用逗号间隔 2、在源es与目标es上都需要进行配置。3、
2017-11-16 20:00:11
6903
4
原创 Jquery.sumoselect插件实现下拉复选框
1、官方网站:https://hemantnegi.github.io/jquery.sumoselect/ 说明介绍网址https://hemantnegi.github.io/jquery.sumoselect/sumoselect_demo.html demo网址2、实现效果
2017-11-08 19:52:33
3087
原创 ElasticSearch复制索引并修改字段
elasticsearch是不支持动态的修改mapping字段的,但是我们如何实现修改某一个字段呢? 方法为:1、先创建修改后的mapping字段,字段名字一致,类型不一致 2、将老索引中的数据复制到新的索引中。 elasticsearch语句: 创建索引后设置新的mapping字段PUT my_index{ "mappings": { "my_type": { "
2017-11-07 21:16:14
10199
原创 复杂业务逻辑下的合理遍历
业务场景我们在前端界面进行任务手动分配,要求将多条录音随机分配给多个质检员。指定每个质检员的录音个数。数据处理1、录音Map(key=id,value=time) 2、质检员id list 3、质检员任务list(number) 4、需要质检的录音数量逻辑处理1、代码:/*** 将所有工单按照指定的分配数量分配给相应的质检员* @param worksheets 工单uuid和工单所在索
2017-10-31 11:34:43
701
原创 我遇见的细节使用的注解
1、@JSONField(serialize=false) 作用:在序列化时不进行序列化(减少流量,提高数据传输效率) 使用位置:实体类成员变量上 来源:import com.alibaba.fastjson.annotation.JSONField;@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD, Element
2017-10-27 17:55:56
331
原创 elasticsearch分词聚合查询demo
我们在通过elasticsearch查询text类型的字段时,我们使用aggs进行聚合某个text类型field。这时elasticsearch会自动进行分词将分词后的结果进行聚合。获取每一个分词出现在文档的文档个数。注意:是文档的次数不是文档中分词出现的次数,也就是说即便某个词在某个文档中出现了多次,但是只记录这个词的doc_count次数为1.查询语句例子:GET voice*/_se
2017-10-20 14:18:02
4279
原创 elasticsearch增删改语句模板
POST _bulk{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }{ "field1" : "value1" }{ "delete" : { "_index" : "test", "_type" : "type1", "_id" : "2" } }{ "create" : { "_index" : "t
2017-10-18 21:40:22
2734
原创 JDK8的lambda表达式
1 什么是lambda表达式?Lambda表达式(也叫做闭包),是jdk8中的新语法,它允许我们将函数当成参数传递给某个方法或者将代码本身作为数据进行处理。2 lambda表达式示例2.1 用lambda表达式实现Runnable//通过匿名内部类方法重写Runnable接口new Thread(new Runnable() { @Override public void run(
2017-10-16 21:34:02
1680
原创 一个项目中hibernate框架下配置多个数据库
hibernate框架下配置多个数据库当我们在同一个项目中需要同时连接多个数据库时,在hibernate框架下的我们可以通过配置多个sessionFactory与多个连接池配置实现获取不同数据库的连接session对象。初始化hibernate的sessionFactory通过spring全注解方式初始化hibernate 配置如下:@Beanpublic DataSource druidDat
2017-10-10 21:06:00
2285
原创 Spring注解@Profile与@Conditional
Spring注解@Profile与@Conditional1、@Profile注解1.1、使用场景:项目中使用多个数据库配置时,根据生产环境与测试环境的不同需要进行不同的配置,如果每次都进行配置文件的修改,不方便也容易出错。Spring为我们提供了@Profile注解实现加载指定的Bean实现简单的控制。1.2、配置profile bean1.2.1、注解方式Spring3.2之后实现能够在方法级
2017-09-27 17:39:14
3708
原创 获取war包中配置文件路径API
maven项目中,war包加载到tomcat中配置文件的位置是target目录下的classes文件下:获取classes路径的API为:String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();再拼接上文件名即可。
2017-09-26 11:10:17
1703
原创 java文件下载通过response流实现文件存储在客户端指定路径
1、我们发送请求到服务器端通过response输出流将文件进行读取存储到客户端一般情况下我们是弹出窗口让用户选择存储路径,如何实现默认存储到指定路径呢?代码如下:2、客户端发送请求:2.1、获取文件名,获取指定文件名的response流2.2、将response输出流包装到制定了文件下载路径的OutPut流中写到本地的设置路径下outputUrlrpcServerUrl是服...
2017-09-20 17:01:39
38085
13
原创 发送http的post请求并通过request接收post请求体
1、http发送post请求:/** * 发送post请求 * @param url 请求url * @param content 请求参数 * @return 请求结果。异常或者没拿到返回结果的情况下,请求结果为"" */ public static String doPostQuery(String url, String content
2017-09-18 11:54:48
3200
原创 jQuery的uploadify插件实现文件跨域上传
1、jQuery的uploadify插件官网地址:2、文件上传的代码模板:3、crossdomain.xml4、java接收文件上传代码
2017-09-18 11:26:14
1391
原创 mysql的lock tables与unlock tables的用法
1、在对mysql数据库中的表进行操作时可以通过添加当前线程下的表的锁实现当前线程下的数据安全。2、添加只读锁(read)如果一个线程获得在一个表上的read锁,那么该线程和所有其他线程只能从表中读数据,不能进行任何写操作。-- lock tables read 与 writeselect log_id from SYS_SYSTEMLOG;-- 将sys_systemlog表进行
2017-09-12 11:51:14
2656
原创 sql语句中不等于的使用
1、sql 里 符号来代码不等于因为2、sql中的等于和不等于, '=' ,'!=','不等于: ,!= ,^=是可以的,~=不行,需要注意的是,只有表示不等于3、等于:=不用多说,但是要进行null的等于判断时,须使用is null 或is not null,null只能通过is null或者is not null来判断,其它操作符与null操作都是false。
2017-09-08 14:54:18
93932
1
原创 hibernate一级缓存与快照
1、hibernate一级缓存是session级别的。2、hibernate快照机制是内存级别的。(堆)3、快照机制:1)、将数据从DB中取出来2)、将数据转变成对象,并存入堆内存中3)、将对象的id放入session缓存map的key中,将对象的引用放入session缓存map的 value中,这就纳入session管理了 4)、将对象的详情放入到“快照”
2017-09-08 10:36:15
1440
原创 Calendar日历对象常用API
1、通过Calendar对象实现获取上个月第一天与上个月第二天//创建日历对象Calendar calendar = Calendar.getInstance();DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//初始化日历时间为当前时间calendar.setTime(new Date());//设置月份为当
2017-09-05 19:59:42
1397
转载 sprint敏捷开发
1。开会的效率,作为组织会议的人要考虑一个问题,你的会议要花费5分钟,有5个人参加,那就是25分钟了,所以会议要尽可能的短,尽可能的解决多一点问题,不是公共的问题尽量安排在会后解决,以节省其它人的时间。2. 沟通的效率高了,尤其是开发和测试,因为很多问题开发和测试可以先沟通,这样很多问题也就可以提前解决了。3. 测试要更早的介入开发中,可以尝试用测试驱动的方法,这一点尤其对自动化来
2017-09-01 09:18:34
719
原创 oracle删除语句
1、删除用户语句://保证有删除用户的权限drop user user_name cascade;2、授权grant connect,dba to 用户名;3、三种删除语句如下引用http://www.cnblogs.com/8765h/archive/2011/11/25/2374167.html 内容(如有侵权 立即删除)1.truncate和不带
2017-08-29 17:12:27
12122
原创 基于angular.js发送ajax请求实现前后台数据交互
1、首先在html界面中绑定一个事件 {{selectDepartment.name}} 名词解释:ng-options表明这是一个select选择标签,ng-change绑定的是一个onchange事件 ng-model表示将option绑定在department中option as option.name for option in selectDepartment.option
2017-08-29 10:29:30
1199
原创 hibernate中Criteria对象的语法
在使用hibernate的查询对象进行编辑查询条件时,罗列一些简单的语法代码://添加用户名不等于admin的条件criteria.add(Restrictions.not(Restrictions.eq("roleName",SYSTEM_ADMIN_ROLE_NAME)));//添加按照修改时间进行倒序排列criteria.addOrder(Order.desc("updateTime"...
2017-08-24 15:52:28
575
原创 location.href传中文参数与java编解码解决get请求乱码
首先在页面传参的地方要进行两次编码location.href=URL+"?name="+encodeURI(encodeURI($scope.name))在后端接收的时候将获取的数据进行解码String newName = URLDecoder.decode(name, "UTF-8");原因分析:首先在界面上将数据进行两次编码 第一次转化为%AC%DB...这样子格式的数据java编解码解决get请求乱码
2017-08-16 16:55:28
625
原创 SpringAOP动态拦截方法并重写
需求理解:当我们在对某个方法进行重写的时候,我们不想修改源代码,希望通过读取配置文件,获取标识符,判断是否需要重写,在不修改源代码的基础上实现动态的修改了方法。在这里我们用到了SpringAOP的Aspect注解,通过添加@Around注解实现拦截指定切点的方法。下面代码举例:@Aspect@Componentpublic class AroundAop { //创建标识符 priv
2017-07-19 16:31:15
3497
原创 mysql与oracle数据库创建partition分区脚本
mysql和oracle数据库分区分为range,list,hash等多种分区方式,在这里我主要对根据时间创建partition分区脚本进行介绍:根据时间进行分区的为range分区方式:mysql创建range分区:DROP TABLE IF EXISTS test; CREATE TABLE test ( id int(10) unsigned NOT NULL AUTO
2017-07-18 11:50:54
659
原创 三主三备redis集群与基于sentinel(哨兵)实现redis三节点选举机制的集群
哨兵模式redis集群:一、环境配置要求1、操作系统CentOS release 6.52、redis-3.2.4二、Sentinel简介2.1、内容简介Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而...
2017-07-12 20:20:28
1041
原创 spring自定义注解实现AOP日志管理
一、自定义注解一、自定义注解的配置如果是用的配置文件需要在配置文件中添加配置:<aop:aspectj-autoproxy/>如果是使用类进行初始化加载需要在类的上面添加注解@EnableAspectJAutoProxy二、自定义注解的约束<dependency> <groupId>org.springframework</groupId> ...
2017-07-10 14:34:56
482
原创 并发修改异常原理与解决方法
什么是并发修改异常:当我们在遍历实现了collection接口与iterator接口的集合时(List、Set、Map), 我们可以通过遍历索引也可以通过迭代器进行遍历。在我们使用迭代器进行遍历集合的时候,会获取到当前集合的迭代对象。在里面有封装了迭代器的remove方法与集合自带的remove方法,如果我们调用迭代器对象的remove方法是没问题的,但是当我们调用集合自带的remove方法时...
2017-06-20 17:22:04
10921
3
原创 elasticsearch条件查询语句与聚合查询语句模板
elasticsearch查询语句总结1、条件查询语句2、聚合查询语句3、should字段和must字段一起使用4、aggs嵌套聚合语句5、interval字段与extended_bounds"range": { "relateData.callTime": { "gte": "2017-08-30 00:00:00" } }
2017-06-12 20:47:15
7045
原创 简单的存储过程案例
--创建存储过程create or replace produce getCount(typeno in varchar2,keycode in varchar2)--声明变量isvar_name varchar2(32);var_dicname varchar2(128);--声明一个游标cursor key_content is--给游标赋值 编写具有结果集的s
2017-06-07 21:27:26
791
原创 compareTo()API的理解
String a = "10";String b = "9"; String x = "19";String y = "17"; Integer n = 10;Integer m = 9; int result1 = a.compareTo(b);int result2 = x.compareTo(y);int result3 = n.compareTo
2017-06-05 21:57:56
519
原创 springcloud笔记
springboot一、配置文件的编写默认在resource文件夹下为application.properties文件建议修改为:application.yml文件名在里面添加 server: port: 8080 context-path:/hello 设置项目的访问路径与项目的访问端口在配置文件里面添加属性实现 在实...
2017-05-24 21:56:59
647
原创 注解方式进行spring定时任务的调用
一、定时任务的配置方式1、xml配置文件在spring.xml文件中开启注解扫描与定时任务扫描<context:component-scan base-package="com.gy.mytask"/><task:annotation-driven>在需要定时调用的任务类上面添加注解@Component在调用的定时任务方法上添加注解@Scheduled()完整截图:@Pro...
2017-05-24 21:53:15
367
http请求代码
2017-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅