自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三劫散仙

有问题关注微信公众号:我是攻城师(woshigcs)

  • 博客(22)
  • 资源 (17)
  • 收藏
  • 关注

如何在elasticsearch里面使用深度分页功能

前面的文章提到过es默认的from+size的分页方式返回的结果数据集不能超过1万点,超过之后返回的数据越多性能就越低。这是因为es要计算相似度排名,需要排序整个整个结果集,假设我们有一个index它有5个shard,现在要读取1000到1010之间的这10条数据,es内部会在每个shard上读取1010条数据,然后返回给计算节点,这里有朋友可能问为啥不是10条数据而是1010条呢...

2018-03-28 18:13:46 417

原创 在elasticsearch里面使用深度分页功能

前面的文章提到过es默认的from+size的分页方式返回的结果数据集不能超过1万点,超过之后返回的数据越多性能就越低。这是因为es要计算相似度排名,需要排序整个整个结果集,假设我们有一个index它有5个shard,现在要读取1000到1010之间的这10条数据,es内部会在每个shard上读取1010条数据,然后返回给计算节点,这里有朋友可能问为啥不是10条数据而是1010条呢?这是因为某个s...

2018-03-28 17:52:13 3344 1

原创 如何在Elasticsearch里面使用索引别名

在elasticsearch里面给index起一个aliases(别名)能非常优雅的解决两个索引无缝切换的问题,这个功能在某些场景下非常使用。比如电商的核心商品索引库,除了实时增量数据外,每天都要重建一遍索引,避免index里面的数据和db里面的数据不一致,因为index分shard了,所以要一个一个的shard做全量替换,直到所有的shard替换完毕,才能宣布重建成功。整个过程其实还是风险挺大的...

2018-03-27 20:47:28 18276

如何在Elasticsearch里面使用索引别名

在elasticsearch里面给index起一个aliases(别名)能非常优雅的解决两个索引无缝切换的问题,这个功能在某些场景下非常使用。比如电商的核心商品索引库,除了实时增量数据外,每天都要重建一遍索引,避免index里面的数据和db里面的数据不一致,因为index分shard了,所以要一个一个的shard做全量替换,直到所有的shard替换完毕,才能宣布重建成功。整个过程其...

2018-03-27 20:37:39 1439

原创 如何优雅的全量读取Elasticsearch索引里面的数据

(一)scroll的介绍有时候我们可能想要读取整个es索引的数据或者其中的大部分数据,来重建索引或者加工数据,相信大多数人都会说这很简单啊直接用from+size就能搞定,但实际情况是from+size的分页方法不适合用于这种全量数据的抽取,越到后面这种方法的性能就越低,这也是es里面为什么限制了单次查询结果的数据不能超过1万条数据的原因。es里面提供了scroll的方式来全量读取索引数据其与数据...

2018-03-26 20:33:05 27159

如何优雅的全量读取Elasticsearch索引里面的数据

### (一)scroll的介绍有时候我们可能想要读取整个es索引的数据或者其中的大部分数据,来重建索引或者加工数据,相信大多数人都会说这很简单啊直接用from+size就能搞定,但实际情况是from+size的分页方法不适合用于这种全量数据的抽取,越到后面这种方法的性能就越低,这也是es里面为什么限制了单次查询结果的数据不能超过1万条数据的原因。es里面提供了scroll...

2018-03-26 20:27:43 2674

原创 关于elaticsearch中更新数据的几种方式

作为一个成熟的框架elasticsearch里面提供丰富的操作数据的api,本篇我们就来学习一下在es中更新数据的几种方式。(一)更新文档(1)部分更新:java api:` HashMap<String,Object> data=new HashMap<>(); data.put("name","woshigcs"); data...

2018-03-21 19:09:34 1426

关于elaticsearch中更新数据的几种方式

作为一个成熟的框架,Elasticsearch里面提供了丰富的操作数据的api,本篇我们就来学习一下在es中更新数据的几种方式。(一)更新文档(1)部分更新:java api:[code="java"]````` HashMap data=new HashMap(); data.put("name","woshigcs")...

2018-03-21 19:00:43 1097

原创 Elasticsearch里面的segment合并

通过前面的文章,我们已经知道在elasticsearch中每个shard每隔1秒都会refresh一次,每次refresh都会生成一个新的segment,按照这个速度过不了多久segment的数量就会爆炸,所以存在太多的segment是一个大问题,因为每一个segment都会占用文件句柄,内存资源,cpu资源,更加重要的是每一个搜索请求都必须访问每一个segment,这就意味着存在的segment...

2018-03-20 17:58:57 13962 2

Elasticsearch里面的segment合并

通过前面的文章,我们已经知道在elasticsearch中每个shard每隔1秒都会refresh一次,每次refresh都会生成一个新的segment,按照这个速度过不了多久segment的数量就会爆炸,所以存在太多的segment是一个大问题,因为每一个segment都会占用文件句柄,内存资源,cpu资源,更加重要的是每一个搜索请求都必须访问每一个segment,这就意味着存在的s...

2018-03-20 17:50:33 2129

原创 Elasticsearch如何保证数据不丢失?

上篇文章提到过,在elasticsearch和磁盘之间还有一层cache也就是filesystem cache,大部分新增或者修改,删除的数据都在这层cache中,如果没有flush操作,那么就不能100%保证系统的数据不会丢失,比如突然断电或者机器宕机了,但实际情况是es中默认是30分钟才flush一次磁盘,这么长的时间内,如果发生不可控的故障,那么是不是必定会丢失数据呢?很显然es的设计者早就...

2018-03-19 21:00:21 19543 3

Elasticsearch如何保证数据不丢失?

上篇文章提到过,在elasticsearch和磁盘之间还有一层cache也就是filesystem cache,大部分新增或者修改,删除的数据都在这层cache中,如果没有flush操作,那么就不能100%保证系统的数据不会丢失,比如突然断电或者机器宕机了,但实际情况是es中默认是30分钟才flush一次磁盘,这么长的时间内,如果发生不可控的故障,那么是不是必定会丢失数据呢?很显然...

2018-03-19 20:52:46 1787 1

原创 为什么说Elasticsearch搜索是近实时的?

通过前面两篇文章的介绍,我们大概已经知道了 Elasticsearch处理数据的流程,其中在Elasticsearch和磁盘之间还有一层称为FileSystem Cache的系统缓存,正是由于这层cache的存在才使得es能够拥有更快搜索响应能力。我们都知道一个index是由若干个segment组成,随着每个segment的不断增长,我们索引一条数据后可能要经过分钟级别的延迟才能被搜索,为什么有种...

2018-03-16 19:47:30 17579 3

为什么说Elasticsearch搜索是近实时的?

通过前面两篇文章的介绍,我们大概已经知道了Elasticsearch处理数据的流程,其中在Elasticsearch和磁盘之间还有一层称为FileSystem Cache的系统缓存,正是由于这层cache的存在才使得es能够拥有更快搜索响应能力。我们都知道一个index是由若干个segment组成,随着每个segment的不断增长,我们索引一条数据后可能要经过分钟级别的延迟才能...

2018-03-16 19:41:54 1374

Elasticsearch如何动态维护一个不可变的倒排索引

上一篇文章中介绍了Elasticsearch中是如何搜索文本的,同时也简述了在es里面索引数据结构的特点不可变性。 索引不可变性的缺点限制了单个索引存储的最大数据量以及更新的频次,所以es面临的问题是如何解决倒排索引不可更新的特点而同时仍然保持不可变特性带来的好处。 答案就是使用多个索引 代替原来的每次重写整个索引,es里面采用方式是增加新的索引来反...

2018-03-15 21:34:35 821

原创 Elasticsearch如何动态维护一个不可变的倒排索引

上一篇文章中介绍了Elasticsearch中是如何搜索文本的,同时也简述了在es里面索引数据结构的特点不可变性。索引不可变性的缺点限制了单个索引存储的最大数据量以及更新的频次,所以es面临的问题是如何解决倒排索引不可更新的特点而同时仍然保持不可变特性带来的好处。答案就是使用多个索引代替原来的每次重写整个索引,es里面采用方式是增加新的索引来反映最近的变化,然后查询的时候一次查询所有的倒排索引,从...

2018-03-15 21:32:46 1238

Elasticsearch如何检索数据

我们都知道Elasticsearch是一个全文检索引擎,那么它是如何实现快速的检索呢?传统的数据库给每个字段都存储成一个单个值,对于全文检索而言,这样的存储是低效的。举个例子,我有一个大文本字段,存到数据库里面只能是一个值,如果想要检索这个大文本字段里面的任何一个词,数据库如何实现? 只能通过like模糊查询来实现,先不说性能低,这对于一个搜索引擎是远远不够的。针对上面数据库的不足...

2018-03-14 20:11:02 216

原创 Elasticsearch如何检索数据

我们都知道Elasticsearch是一个全文检索引擎,那么它是如何实现快速的检索呢?传统的数据库给每个字段都存储成一个单个值,对于全文检索而言,这样的存储是低效的。举个例子,我有一个大文本字段,存到数据库里面只能是一个值,如果想要检索这个大文本字段里面的任何一个词,数据库如何实现? 只能通过like模糊查询来实现,先不说性能低,这对于一个搜索引擎是远远不够的。针对上面数据库的不足,所以才出现了L...

2018-03-14 20:09:52 1722

原创 JDK8中LinkedList的工作原理剖析

LinkedList虽然在日常开发中使用频率并不是很多,但作为一种和数组有别的数据结构,了解它的底层实现还是很有必要的。在这之前我们先来复习下ArrayList的优缺点,ArrayList基于数组的动态管理实现的,数组在内存中是一块连续的存储地址并且数组的查询和遍历是非常快的;缺点在于在添加和删除元素时,需要大幅度拷贝和移动数据,还要考虑是否需要扩容操作,所以效率比较低。正是由于上面的不足,才出现...

2018-03-06 21:30:01 319

JDK8中LinkedList的工作原理剖析

LinkedList虽然在日常开发中使用频率并不是很多,但作为一种和数组有别的数据结构,了解它的底层实现还是很有必要的。在这之前我们先来复习下ArrayList的优缺点,ArrayList基于数组的动态管理实现的,数组在内存中是一块连续的存储地址并且数组的查询和遍历是非常快的;缺点在于在添加和删除元素时,需要大幅度拷贝和移动数据,还要考虑是否需要扩容操作,所以效率比较低。正是由...

2018-03-06 21:16:03 201

原创 理解Java集合框架里面的的transient关键字

在分析HashMap和ArrayList的源码时,我们会发现里面存储数据的数组都是用transient关键字修饰的,如下:HashMap里面的:transient Node<K,V>[] table;ArrayList里面的:transient Object[] elementData既然用transient修饰,那就说明这个数组是不会被序列化的,那么同时我们发现了这两个集合都自定义了...

2018-03-01 20:31:07 1048

理解Java集合框架里面的的transient关键字

在分析HashMap和ArrayList的源码时,我们会发现里面存储数据的数组都是用transient关键字修饰的,如下:HashMap里面的:[code="java"]```` transient Node[] table;````[/code]ArrayList里面的:[code="java"]```` transient Object[] elem...

2018-03-01 20:16:24 311

protobuf-2.5.0.tar.gz

Hadoop2.x安装必须的通信包,google的protobuf协议,google官网已经下载不了了,特地传到此处,供大家使用! 在编译hadoop的时候,是必须要安装这个的,否则编译会失败的

2015-06-24

hadoop插件

基于Hadoop2.2的稳定版本的,eclipse插件,大家以后可以更方便的调试Hadoop程序了。

2013-12-17

luke4.6工具

luke4.6查看索引工具,最新版lucene的查看工具,本人测试过,可以正常使用!

2013-12-05

eclipse插件

hadoop1.2.0的eclipse插件,笔者经过测试可以完美运行,对于刚学习hadoop1。x的同学们,是一份不可多得的好资料。

2013-11-10

luke4.5的jar包

luke4.5的索引查看工具,最新版lucene的索引查看工具,用4.x版本的lucene的朋友们,可以使用luke4.5方便的查看,修改,更新索引了,支持4.5之前的所有lucene索引,有需要的朋友们,下载吧,LZ测试过,可以正常使用。

2013-10-29

Access驱动

jdbc Access驱动,兼容处理03,07+的Access,的增删改查。值得下载

2013-09-23

lucene4.3工具类

lucene4.3增删改查的的一个工具类,对新手来说是一份不可多得的入门资料。

2013-08-15

luke4.4索引查看工具

关于全文检索的最新版Lucene4.4,solr4.4的索引查看工具,新项目的开发的朋友们,可以下载下来,方便查询索引结构。

2013-08-15

向LUCENE搜索引擎中加人中文同义词查询

介绍lucene同义词库的使用,想使用lucene同义词的朋友们,如果不知道原理的可以看下。

2013-08-08

lucene的索引工具

lucene的最新版本的索引查看工具,支持4.x以上的索引查看,分析,非常方便调试,官网只能支持到4.0,本工具支持最新的lucene及solr的4.3版本。

2013-07-18

solr各个热点功能详解

详细介绍了solr中,各个功能的UI页面的使用,以及使用solrj操作solr的代码,比较全面的总结了solr的各个功能点。是不可多得的好资料!

2013-07-11

solr4.3的IK分词器

最新版solr4.3的IK分词器,中文分词效果良好!对付一般的大众分词没有问题

2013-06-25

solrcold与zk集群

关于solr4.3solrcloud与zk+tomcat6.x集群,详细描述。

2013-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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