mac的『预览』软件的使用 发表于 2019-10-21 | 分类于 mac windows系统的画图软件非常简单好用,用来进行一些图片的拼接,做一些注释和标记,mac上没有类似的软件,但是有一个功能更强大的『预览』软件 用预览实现图片的拼接裁剪图片 使用矩形工具选中需要裁剪的部分 点击裁剪按钮 拼接图片假设现在有图片1和图片2 使用预览打开图片1 cmd+a选中图片1 ... 阅读全文 »
排重客户数&日排重客户数 发表于 2019-10-21 | 分类于 bitmap 区别假设查询时间区间为:20190101-20190102 排重客户数:distinct(20190101,20190102) 日排重客户数:distinct(20190101)+distinct(20190102) 固定时间区间的查询例如周维度、月维度的查询,我们可以通过bitmap的方式,对 ... 阅读全文 »
ForkJoin核心思想 发表于 2019-10-16 | 分类于 java 深入 ForkJoin的线程池是如何调度子任务的 应用场景如果一个应用程序能够被分解成多个子任务,而且结合多个子任务的结果就能够得到最终的答案,那么它就适合使用FORK/JOIN模式来实现。 将一个大任务分割成一个个小任务,小任务可以独立执行,彼此之间互相不影响,小任务的执行结果可以合并为总的结果 ... 阅读全文 »
CompletableFuture核心思想 发表于 2019-10-16 | 分类于 java 介绍首先阻塞和非阻塞是针对于异步事件的,单线程执行谈不上阻塞和非阻塞。启动一个线程去执行一个逻辑,该线程就是一个异步事件,获取该线程的结果的过程就涉及到阻塞和非阻塞两种方式。 如果你等着拿到了该线程的结果才去进行下一步,那么就是阻塞的 将所有要执行的代码通过future通通提交给java虚拟机,然 ... 阅读全文 »
为什么lucene的文档列表使用跳表而不是bitmap 发表于 2019-10-16 | 分类于 elasticsearch 根本原因个人感觉,lucene的倒排索引的文档列表,之所以没有选择bitmap,并不是因为bitmap和跳表本身的性能差异,而是因为跳表除了能保存文档列表之外,还能保存其他信息,就比如说该term在文档中出现的次数 因为lucene是为全文检索而生的,全文检索非常关键的一点就是文档的相关度,其中非常 ... 阅读全文 »
倒排索引保存的信息 发表于 2019-10-16 | 分类于 elasticsearch 需要记录的信息 词在文档中出现的频率:文档列表中每个文档id对应一个值 出现该次的文档的数量:文档列表的长度 高亮搜索结果:词在文档中的偏移信息(offset),包括起始位置和长度 短语查询:记录没个词的position信息,如果查询brown fox,还是会按照分词的term(brown和fox) ... 阅读全文 »
elasticsearch查询与缓存 发表于 2019-10-16 | 分类于 elasticsearch 在【转载】Elasticsearch2.x Filter执行流程及缓存原理一文中提到:filter查询上下文中对应的查询的结果会以bitmap的方式进行缓存,后续再进行查询的时候,直接通过内存中的bitmap进行文档id的过滤。 bool查询中must和filter比较像,其中都会经常用到term和 ... 阅读全文 »
【转载】Elasticsearch2.x Filter执行流程及缓存原理 发表于 2019-10-16 | 分类于 elasticsearch 基本概念 在讲述ES Filter的执行流程和缓存原理之前,有几个概念我们必须要清楚。 Query and Filter context官网地址 Query Context所谓查询上下文,是指包含一个或多个查询条件的逻辑组合,QueryContext里包含的的单个查询表示的含义是“文档和该查询条件 ... 阅读全文 »
elasticsearch的查询与评分 发表于 2019-10-09 | 分类于 elasticsearch 关键词 match term filter bool text keyword 什么时候会进行评分 分词字段&match:会评分 分词字段&term:会评分 分词字段&filter&term:不会评分 分词字段&filter&match:不会评分 不 ... 阅读全文 »
ByteBuffer的理解 发表于 2019-09-15 | 分类于 java ByteBuffer是nio包中的类 实际上就是对字节数组的一个封装,提供了操作字节的api,方便的进行字节的读取,所以说是字节缓冲区。 分配一块空间用于存放字节 支持除了boolean之外的所有基本类型的存储,因为这些基本类型最终也是通过字节数组存储的,之所以不包含boolean,因为boo ... 阅读全文 »