ES查询流程源码解析

  一些基础知识 早先ES的HTTP协议支持还是依赖Jetty的,现在不管是Rest还是RPC都是直接基于Netty了。 另外值得一提的是,ES 是使用Google的Guice 进行模块管理,所以了解Guice的基本使用方式有助于你了解ES的代码组织。 ES 的启动类是 org.elasticsearch.bootstrap.Bootstrap。在这里进行一些配置和环境初始化后会启动org...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

ES读写操作详解

目前的Elasticsearch有两个明显的身份,一个是分布式搜索系统,另一个是分布式NoSQL数据库,对于这两种不同的身份,读写语义基本类似,但也有一点差异。 写操作 实时性: 搜索系统的Index一般都是NRT(Near Real Time),近实时的,比如Elasticsearch中,Index的实时性是由refresh控制的,默认是1s,最快可到100ms,那么也就意味着I...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

java集合遍历中的向下转型、泛型

java中集合存储字符串时,集合的get(i)方法是获取集合中的第i+1个元素,而这个元素是Object类型,而Object类型没有length()方法,遍历的时候如果直接.length()会报错。如果想使用字符串的方法,就必须把元素还原成字符(向下转型)。 /* * 集合的遍历。其实就是依次获取集合中的每一个元素。 * * Object[] toArray():把集合转成数组,可以实现集...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

一个一站式流式处理云平台解决方案

随着互联网、IT、大数据等技术的爆发式发展,企业系统产生的大量爆发数据。对于保存在数据库中的业务数据,可以通过DBus数据总线+Wormhole流式处理平台的日志方式实时地无侵入同步和落地到任意sink端,提供下游系统分析使用;对于业务系统产生的日志数据,这些包含了业务高低峰、用户轨迹、系统异常/错误信息、调用链等诸多信息,也蕴含着无价的宝藏。一些公司通过埋点等方式和手段,往日志数据里输出他们想要...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

ES aggregation详解

aggregation分类 aggregations —— 聚合,提供了一种基于查询条件来对数据进行分桶、计算的方法。有点类似于 SQL 中的 group by 再加一些函数方法的操作。 聚合可以嵌套,由此可以组成复杂的操作(Bucketing聚合可以包含sub-aggregation)。 聚合整体上可以分为 3 类: 1. Bucketing:桶分聚合: 此类聚合执行的是对文档分组的操...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

ES Field Collapsing 字段折叠使用详解

在 Elasticsearch 5.x 有一个字段折叠(Field Collapsing,#22337)的功能非常有意思,在这里分享一下,   字段折叠是一个很有历史的需求了,可以看这个 issue,编号#256,最初是2010年7月提的issue,也是讨论最多的帖子之一(240+评论),熬了6年才支持的特性,你说牛不牛,哈哈。   目测该特性将于5.3发布,尝鲜地址:Elasticsearch-...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

游戏背景音乐的未来是什么?

游戏背景音乐的未来是什么?在产品货币化上,订阅类服务可以值得关注,而在市场发展大方向上,移动电竞的产品趋势已经不可忽视。虽然免费增值以及其他多元化的商业模式已经取得了成功,“用户订阅”模式却才刚刚起步,一线的游戏厂商已经开始尝试这种模式,用户可以通过支付固定费用来获得额外或者独占的游戏内容,听到更多的游戏背景音乐。         另一个趋势是手游电竞化,在其他平台的游戏电竞化的程度越来越...
分类: 编程语言 发布时间: 10-15 17:24 阅读次数: 0

Elasticsearch Log GC 日志分析详解

如果你关注过 elasticsearch 的日志,可能会看到如下类似的内容: [2018-06-30T17:57:23,848][WARN ][o.e.m.j.JvmGcMonitorService] [qoo--eS] [gc][228384] overhead, spent [2.2s] collecting in the last [2.3s] [2018-06-30T17:57:29...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

ES mapping 详解

1 mapping type 映射(mapping) 映射是定义一个文档以及其所包含的字段如何被存储和索引的方法。 例如,用映射来定义以下内容: 哪些 string 类型的 field 应当被当成当成 full-text 字段 哪些字段应该是数值类型、日期类型或者是地理位置信息 日期类型字段的格式是怎么样的 是否文档的所有字段都需要被索引到 _all 字段 动态增加的 field ...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

股神巴菲特致股东信

股神巴菲特掌舵的伯克希尔哈撒韦将公布2017年年报,其中将包括巴菲特致股东的信以及有关伯克希尔的财务状况和经营业绩信息。 2018年5月5日星期六,伯克希尔哈撒韦将举行年度股东大会。 这次致股东的信,最受关注的可能是,巴菲特细谈苹果公司的买入逻辑和想法,减持IBM的思考,关于接班人的考虑。 当然,还有他去年又赚了多少钱。按照2017年的致股东信, 2016年,过去52年时间里(自巴菲特接管...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

ES Mapping、字段类型Field type详解

  字段类型概述 一级分类 二级分类 具体类型 核心类型 字符串类型 string,text,keyword 整数类型 integer,long,short,byte 浮点类型 double,float,half_float,scaled_float 逻辑类型 boolean 日期类型 date 范围类型 range 二进制类型 binary 复合类型 数组类型 array 对象类型 obje...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

最全PyCharm教程(1-15)【转】

最全Pycharm教程(1)——定制外观 原文:https://blog.csdn.net/u013088062/article/details/50100121 最全Pycharm教程(2)——代码风格 原文:https://blog.csdn.net/u013088062/article/details/50113593 最全Pycharm教程(3)——代码的调试、运行 原文:htt...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

SQL left join 左表合并去重技巧总结

 建表: CREATE TABLE `table1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(60) DEFAULT NULL, `age` varchar(200) DEFAULT NULL, `sponsor_id` varchar(20) DEFAULT NULL COMMENT '业务发起人', ...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

我的Python成长之路---Day10-函数的基本使用

一、函数的使用原则 函数的使用应该分为两个明确的阶段1. 定义阶段:只检测语法,不执行函数体代码 def func():     print('from func')2. 调用阶段:会触发函数体代码的执行 func() 函数使用的原则: 先定义后调用 示范一 def foo():     print('from foo')     bar()                     bar函...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

函数作业01

!/usr/bin/env python -*- coding:utf-8 -*- 1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作 def func1(file_name, old, new): import os with open(file_name, mode='r', encoding='utf-8')as read_f, \ ...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

我的Python成长之路---Day11-函数的使用及名称空间和作用域

1.昨天函数的参数内容的补充 命名关键字参数: 在定义函数时,*与**之间参数称之为命名关键字参数特点: 在调用函数时,命名关键字参数必须按照key=value的形式传值 def func(x,*,y=1,z): 在这里*后边的y和z都是命名关键字参数,y像默认参数一样被事先赋值好了,再实 参进行传值的时候可以不对y进行传值...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

我的Python成长之路---Day12-装饰器

一、装饰器的基本知识 1 什么是装饰器     器=>工具     装饰=>指的是为被装饰对象添加新功能     所以装饰器就是为被装饰对象添加新功能的工具(目前为止学过的工具只有函数了,所以在这里是指用函数来实现装饰器的功能)     装饰器本身可以是任意可调用的对象=>函数     被装饰的对象也可以是任意可调用的对象=>函数     用装饰器的目的目标:写一个...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

我的Python成长之路---Day13-迭代器和生成器

一、叠加多个装饰器 加载装饰器就是将原函数名偷梁换柱成了装饰器最内层那个wrapper函数 在加载完毕后,调用原函数其实就是在调用wrapper函数当一个被装饰的对象同时叠加多个装饰器时 装饰器的加载顺序是:自下而上 加载顺序,自下而上改变的是各个装饰器内func所表示的装饰器最内层的函数(不同的wrapper),这样的加载顺序在装饰器自上而下的执行顺序执行的时候就能够按照加载时候的按照一定的...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

我的Python成长之路---Day14匿名函数和函数的递归

一、匿名函数 1. 什么是匿名函数     def定义的是有名函数:            有名函数特点是可以通过名字重复调用         def func():                          #func=函数的内存地址             pass     匿名函数就是没有名字的函数:特点是只能再定义时使用一次 2. 为何要用匿名函数     强调:       ...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0

windows下node和vue安装配置

下载 http://nodejs.cn/download/ 选择windows的zip压缩版本版本 这里使用zip版本配置 解压 配置 将解压出来的根目录配置到系统变量里就行了 保存后,打开cmd看是否配置成功 输入node -v,npm -v应该有版本号,就说明配置成功了 这个时候还要替换默认的npm包为淘宝的npm 输入:npm install -g cnpm --registry=htt...
分类: 其他 发布时间: 10-15 17:24 阅读次数: 0