本月博客排行
-
第1名
Xeden -
第2名
fantaxy025025 -
第3名
bosschen - paulwong
- johnsmith9th
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - gengyun12
- wy_19921005
- vipbooks
- e_e
- benladeng5225
- wallimn
- ranbuijj
- javashop
- jickcai
- fantaxy025025
- zw7534313
- qepwqnp
- robotmen
- 解宜然
- ssydxa219
- sam123456gz
- zysnba
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- xpenxpen
- kaizi1992
- wiseboyloves
- jh108020
- xyuma
- ganxueyun
- wangchen.ily
- xiangjie88
- Jameslyy
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- nychen2000
- zxq_2017
- lzyfn123
- wjianwei666
- forestqqqq
- ajinn
- siemens800
- hanbaohong
- 狂盗一枝梅
- java-007
- zhanjia
- 喧嚣求静
- Xeden
最新文章列表
Elasticsearch集群信息查看及重启维护流程
编写不易,转载请注明( http://shihlei.iteye.com/blog/2418651)!
一 概述
最近做Elasticsearch优化,需要调整节点参数,重启,查看是否生效。线下测试集群一般使用head插件,方便。但head插件需要其所在节点能正常提供服务,且客户端浏览器网络可达。这种约束不适合线上运维,最直接方式还是使用Elasticsearch提供的 ...
Elasticsearch 父子关系维护和检索案例分享
Elasticsearch 父子关系维护和检索案例分享,展示has_child和has_parent的基本用法。
本文涉及技术点:
1.删除和创建公司/雇员父子关系的索引表
2.bulk批量导入json格式数据
3.ormapping方式bulk批量导入数据
4.采用@ESId指定文档_id
5.采用@ESParentId制定子文档的parent信息
6.基本的has_child和has_par ...
Elastic Stack从入门到实践
Elastic Stack从入门到实践
网盘地址:https://pan.baidu.com/s/158hi13EAUCu4Gbfd2ik9AQ 密码:r84m
备用地址(腾讯微云):https://share.weiyun.com/5zXikYH 密码:2pnbzx
第1章 课程概述
第2章 Elasticsearch 篇之 入门
第3章 Elasticsearch 篇之倒排索引与分词
第4章 ...
Elasticsearch Sliced Scroll分页检索案例分享
Elasticsearch Sliced Scroll分页检索案例分享
我们在文章《Elasticsearch Scroll分页检索案例分享》中介绍了elasticsearch scroll的基本用法,本文介绍Elasticsearch Sliced Scroll分页检索功能。
1.准备工作
参考文档《高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端
2.定义Sl ...
Elasticsearch地理位置维护及检索案例分享
Elasticsearch地理位置信息维护及检索案例分享
1.准备工作
参考文档《高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端到工程
2.定义带地理位置类型的mapping
创建一个city索引表结构,字段location的 类型为geo_point,并且定义一个检索的dsl语句
在resources目录下创建文件esmapper/address.xml,内容如 ...
Elasticsearch Scroll分页检索案例分享
Elasticsearch Scroll分页检索案例分享
1.准备工作
参考文档《高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端bboss
2.定义scroll检索dsl
首先定义一个简单的scroll dsl检索脚本
<properties>
<property name="scrollQuery">
...
如何在elasticsearch里面使用深度分页功能
前面的文章提到过es默认的from+size的分页方式返回的结果数据集不能超过1万点,超过之后返回的数据越多性能就越低。
这是因为es要计算相似度排名,需要排序整个整个结果集,假设我们有一个index它有5个shard,现在要读取1000到1010之间的这10条数据,es内部会在每个shard上读取1010条数据,然后返回给计算节点,这里有朋友可能问为啥不是10条数据而是1010条呢?这是因为某 ...
如何在Elasticsearch里面使用索引别名
在elasticsearch里面给index起一个aliases(别名)能非常优雅的解决两个索引无缝切换的问题,这个功能在某些场景下非常使用。
比如电商的核心商品索引库,除了实时增量数据外,每天都要重建一遍索引,避免index里面的数据和db里面的数据不一致,因为index分shard了,所以要一个一个的shard做全量替换,直到所有的shard替换完毕,才能宣布重建成功。整个过程其实还是风险挺 ...
如何优雅的全量读取Elasticsearch索引里面的数据
### (一)scroll的介绍
有时候我们可能想要读取整个es索引的数据或者其中的大部分数据,来重建索引或者加工数据,相信大多数人都会说这很简单啊直接用from+size就能搞定,但实际情况是from+size的分页方法不适合用于这种全量数据的抽取,越到后面这种方法的性能就越低,这也是es里面为什么限制了单次查询结果的数据不能超过1万条数据的原因。
es里面提供了scroll的方式来全量读取 ...
Elasticsearch Mget、GetDocSource、索引部分更新案例分享
1.前期准备
参考文档《高性能elasticsearch ORM开发库使用介绍》导入和配置es客户端bboss
2.mget操作
简单而直观的多文档获取案例
ClientInterface clientUtil = ElasticSearchHelper.getRestClientUtil();
//获取json报文
String response = clientUtil ...
工作笔记4 - ES架构及原理
Elasticsearch 是一个兼有搜索引擎和NoSQL数据库功能的开源系统,基于Java/Lucene构建,可以用于全文搜索,结构化搜索以及近实时分析。可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。 说明: Lucene:只是一个框架,要充分利用它的功能,需要使用JAVA,并且在程序中集成Lucene,学习成本高,Lucene确实非常复杂。 Elasticsearch 是 面 ...
Elasticsearch里面的segment合并
通过前面的文章,我们已经知道在elasticsearch中每个shard每隔1秒都会refresh一次,每次refresh都会生成一个新的segment,按照这个速度过不了多久segment的数 ...
Elasticsearch如何保证数据不丢失?
上篇文章提到过,在elasticsearch和磁盘之间还有一层cache也就是filesystem cache,大部分新增或者修改,删除的数据都在这层cache中,如果没有flush操作,那么就不能100%保证系统的数据不会丢失,比如突然断电或者机器宕机了,但实际情况是es中默认是30分钟才flush一次磁盘,这么长的时间内,如果发生不可控的故障,那么是不是必定会丢失数据呢?
很显然es的设计者 ...
为什么说Elasticsearch搜索是近实时的?
通过前面两篇文章的介绍,我们大概已经知道了
Elasticsearch处理数据的流程,其中在Elasticsearch和磁盘之间还有一层称为FileSystem Cache的系统缓存,正是由于这层cache的存在才使得es能够拥有更快搜索响应能力。
我们都知道一个index是由若干个segment组成,随着每个segment的不断增长,我们索引一条数据后可能要经过分钟级别的延迟才能被搜索,为什么 ...
Elasticsearch如何动态维护一个不可变的倒排索引
上一篇文章中介绍了Elasticsearch中是如何搜索文本的,同时也简述了在es里面索引数据结构的特点不可变性。
索引不可变性的缺点限制了单个索引存储的最大数据量以及更新的频次,所以es面临的问题是如何解决倒排索引不可更新的特点而同时仍然保持不可变特性带来的好处。
答案就是使用多个索引
代替原来的每次重写整个索引,es里面采用方式是增加新的索引来反映最近的变化,然后查询的 ...