首页
学习
活动
专区
工具
TVP
发布

YG小书屋

专栏作者
64
文章
122587
阅读量
28
订阅数
ES 查询优化(一)
1、能用term就不用match_phrase The Lucene nightly benchmarks show that a simple term query is about 10 times as fast as a phrase query, and about 20 times as fast as a proximity query (a phrase query with slop). term查询比match_phrase性能要快10倍,比带slop的match_phrase快2
YG
2018-05-23
4.8K1
ES集群如何做到高可用
ES集群的高可用可分为读高可用、写高可用与发生改变(集群状态改变)时高可用。其实这么说不是很准确,因为部分集群状态的改变会影响读和写的高可用。 读高可用指的是多个副本情况下,某个副本出问题时不影响整个系统的读。 写高可用指的是多个副本情况下,某个副本出问题时不影响整个系统的写,通过translog来确保数据不会丢失。 集群状态的改变的高可用包含自动处理节点的加入和离开,自动同步改变的集群状态,当集群发生故障时自动切换主副shard等等来保持集群的高可用。 读和写的高可用这里不再描述,下面将通过三个部
YG
2018-05-23
2.8K0
ElasticSearch 介绍
整体介绍 ElasticSearch,官网上对它的定义为: Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. 说它是一个分布式的,具有Restful编程风格的,可解决不断出现的用例的一个分析搜索引擎。搜索这点大家认识都很深刻,它的分析能力,其实也很强。目前我们这边做过命中量为1.2亿的聚合(简单的聚合统计)运算,时间只
YG
2018-05-23
1.9K0
ES缓存
node query cache 一个节点的所有shard共享一个缓存区。利用LRU算法替换缓存内容。 query cache缓存查询结果,但只缓存filter类型的查询。 可通过indices.queries.cache.size设置缓存的大小。 在5.1.1中移除了term query的缓存。因为term query和filter query二者查询时间相差不多。https://www.elastic.co/guide/en/elasticsearch/reference/5.1/release-not
YG
2018-05-23
1.5K0
ES 查询优化(二)
接上一篇继续介绍。 1、查询精确匹配 假设有 { "tags" : ["search"] } { "tags" : ["search", "open_source"] } 两个文档,{ "term" : { "tags" : "search" } }都能匹配,但想只搜索包含一个的值,怎么办? 插入数据时多加一个长度字段: { "tags" : ["search"], "tag_count" : 1 } { "tags" : ["search", "open_source"], "tag_coun
YG
2018-05-23
2.6K0
ElasticSearch 5.6源码解析HTTP/TCP请求
http请求解析 NettyHttpServerTransport 监听http请求。在其他版本中这个类在源码内,可直接找到。但在5.6中这个类被封装在netty插件中。因此从监听到http请求到请求转发到restController这部分我没看到。以下是从网络上找到的。http://blog.csdn.net/xgjianstart/article/details/70143365 首先,NettyHttpServerTransport 会负责进行监听Http请求。通过配置http.netty.http
YG
2018-05-23
1.4K0
ES-Spark连接ES后,ES Client节点流量打满分析
问题描述 前段时间用es-spark读取es数遇到了client节点流量打满的现象。es-spark配置的es.nodes是es的域名。由于其中一个client是master节点,然后普通查询变得特别慢,运行20多分钟后,主节点崩溃。 解决方法 临时解决方案:降低es-spark的并发,并重启主节点。 最终解决方案:设置es.nodes.wan.only为false,即不用域名访问。将es.nodes配置为client节点的IP。 原因分析 域名访问时必须配置参数es.nodes.wan.only为true
YG
2018-05-23
3K3
ES节点丢失导致实时数据导入速度特别慢
一个节点死机了,无法自动重启。通过logtash导数据,由于当天入的数据是0备份,节点丢失后,某些shard丢失,导致集群一直处于red状态。节点丢失后,该索引的导入速度直线下降。经测试发现是logtash的原因,logtash的input阶段是一个线程,filter和output用一个线程。中间通过一个同步队列缓存数据。如果在output的过程中出现问题,那么失败的数据会无限制地放回同步队列,然后队列中的数据被再次分配shard导入,分配到丢失shard的数据会再次失败,再次放入同步队列。因此数据一直在同
YG
2018-05-23
3.9K0
ES脚本查询空字符串
本文介绍的查询方法是基于ES5.2版本的,可能对其他版本不适用。其他版本请参考官网: https://www.elastic.co/guide/en/elasticsearch/reference/5.2/modules-scripting-fields.html https://www.elastic.co/guide/en/elasticsearch/reference/5.2/modules-scripting-painless-syntax.html 查询字段为空的文档 curl localho
YG
2018-05-23
2.9K0
ES查询常见问题
1 must嵌套should条件查询 curl -XGET 'xxx/xxx/_search?pretty' -H 'Content-Type: application/json' -d'{
YG
2018-05-23
7100
ES集群状态详细信息
我们经常说集群中包含的机器不能太多,shard数不能太多,master节点最好单独出来作为一个client节点,否则会导致主节点同步集群状态出现问题。 那么集群状态中到底有什么内容呢? 所有的节点信息nodes 8 "FP99h47FQfSJBZmbzkJ36g" : { 9 "name" : "node-100.110.11.139-user_jk_master", 10 "ephemeral_id" : "jt2t9V8OTOaf7Bjho_He2
YG
2018-05-23
1.3K0
磁盘空间引起ES集群shard unassigned的处理过程
1、问题描述 早上醒来发现手机有很多ES状态为red的告警,集群就前几天加了几个每天有十多亿记录的业务,当时估算过磁盘容量,应该是没有问题的,但是现在集群状态突然变成red了,这就有点懵逼了。 2、查
YG
2018-05-23
2.4K0
ES中文分词器之精确短语匹配(解决了match_phrase匹配不全的问题)
分词器选择 调研了几种分词器,例如IK分词器,ansj分词器,mmseg分词器,发现IK的分词效果最好。举个例子: 词:<<是的>><span>哈<\span>撒多撒ئۇيغۇر تىلى王者荣耀sdsd@4342啊啊啊 Standard: 是,的,span,哈,span,撒,多,撒,ئۇيغۇر,تىلى,王,者,荣,耀,sdsd,4342,啊,啊,啊,啊 mmseg_maxword:是,的,span,哈,span,撒,多,撒,ئ,ۇ,ي,غ,ۇ,ر,ت,ى,ل,ى,王者,荣耀,sdsd,4342,啊
YG
2018-05-23
4.8K1
ES中文分词器之精确短语匹配(自定义分词器)
楼主在上篇文章中,提出了将词和字分开,用不同的分词器分别构建索引,来解决match_phrase在中文中的短语或者句子匹配问题。详细的内容请看上一篇文章: ES中文分词器之精确短语匹配(解决了match_phrase匹配不全的问题) 为什么要自己写分词器? 楼主想要一种分词器,分词器完全按照词典分词,只要是词典有的词语,分词器就一定要分出来。测试了两个分词器比如说IK,MMseg,都不能按照楼主的要求分词。 MMSeg有考虑到词频,即使使用mmseg_max_word,也不能完全按照词典分词。 IK理论上
YG
2018-05-23
4.7K0
ES选举-类Bully算法
Bully算法 bully算法是一个分布式系统中动态选择master节点的算法,进程号最大的非失效的节点将被选为master。 算法用三种消息类型: 1)选举消息 (Election Message: Sent to announce election.) 2)应答消息(Answer (Alive) Message: Responds to the Election message.) 3)选举成功消息 (Coordinator (Victory) Message: Sent by winner of t
YG
2018-05-23
2.3K0
ES存在unassinged shard的调试方式
这篇博客是 http://www.jianshu.com/p/443cf6ce87d5 的一个补充。 查看ES的状态 curl -XGET 'http://unknow.com/_cat/healt
YG
2018-05-23
1.3K0
ES5.6 Bulk源码解析
Bulk注册 在启动类BootStrap的start()方法中,启动了node.start()方法。在Node初始化的过程中,加载了一系列的模块和插件,其中包含ActionModel。 ActionModule actionModule = new ActionModule(false, settings, clusterModule.getIndexNameExpressionResolver(), settingsModule.getIndexScopedSetting
YG
2018-05-23
9151
Hive-ES配置实例
配置过程如下: 1)添加jar包 add jar file:///path/to/elasticsearch-hadoop-hive-5.2.0.jar; 2)创建一个hive-es对应表 create external table tmp.es_guo_test( imp_date string, group_code string, member_uin string, uin_flag bigint, ex_flag bigint, ower_f
YG
2018-05-23
5190
没有更多了
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档