ElasticSearch
文章平均质量分 89
猿来如此dj
目前西安工作-航天宏图公司大数据开发工程师,欢迎大家交流。
展开
-
(0)elasticsearch学习文档指南
elasticsearch学习文档指南elasticsearch官方中文文档elasticsearch权威指南:官方版elasticsearch中文社区elasticsearch开发API原创 2020-01-11 10:47:12 · 413 阅读 · 1 评论 -
(一:原理1)ElasticSearch:基本概念及操作
ElasticSearch:基本概念1:ElasticSearch简介一言以蔽之:ElasticSearch 是同java开发(jvm内存管理)一款基于 Lucene(全文搜索) 的实时分布式搜索和分析引擎。ElasticSearch 的目标是让全文搜索变 得简单,开发者可以通过它简单明了的 RestFul API 轻松地实现搜索功能es官网1.1:RestFul API 解释其实说白......原创 2019-12-24 15:12:57 · 755 阅读 · 0 评论 -
(一:原理2)深入理解Elasticsearch读写过程
ElasticSearch的数据写入流程1:Elasticsearch的写入设计1:分片路由设计默认根据消息的id进行hash到主分片上,每个分片都有自己的编号。,也可以指定routing字段shard_num = hash(\routing) % num_primary_shards2:实时性refreshrefresh操作的时间间隔由refresh_interval参数控制,默认为1s, 当然还可以在写入请求中带上refresh表示写入后立即refresh,根据refresh从内存刷新到内存原创 2020-12-09 16:09:18 · 1067 阅读 · 0 评论 -
(一:原理2)ElasticSearch的数据存储原理
(八)ElasticSearch的数据存储原理elasticsearch的索引操作以及mapping配置文章目录(八)ElasticSearch的数据存储原理1:ElasticSearch的数据存储原理1.1:步骤分析1.2:索引数据的具体保存方式1.2.1 :Field Data1.2.2:Term Index1.2.3:Per-Document Values1:ElasticSearch...原创 2020-01-17 22:52:44 · 4039 阅读 · 1 评论 -
(一:原理3)elasticsearch的segment详解
es的segment详解1:segment介绍服务器总内存除过给jvm配置的其余都给了lucene,占用page cache内存,page cache保存对文件数据segment的缓存。free -g可查看内存使用,es节点只有es服务,基本cache就是缓存的segmentsegment : 每个shard分片是一个lucene实例,每个分片由多个segment组成!!每个segment占用内存,文件句柄等。1.1:flush总结1:es的各个shard会每个30分钟进行一次flush操作。原创 2020-09-10 11:09:32 · 8300 阅读 · 0 评论 -
(一:原理4)ElasticSearch内存分配以及优化
ElasticSearch内存分配以及优化1:服务器内存分配内存消耗大户:1:Elasticsearch2:Lucene(全文搜索)2:内存解释2.1:ElasticsearchElasticsearch默认安装后设置的堆内存是1GB,实际业务肯定不够,需要进行配置,不要超过32G因为如果堆大小小于 32 GB,JVM 可以利用指针压缩,这可以大大降低内存的使用:每个指针 4 字...原创 2019-12-24 17:50:07 · 9925 阅读 · 1 评论 -
(二)ElasticSearch结合kibana常见运维命令使用
1:ES在linux使用curl工具查询文章目录1:ES在linux使用curl工具查询1.1curl1.2:curl的shell使用1.3:curl -X2:结合kibana使用ES2.1常用运维命令2.1.1:get _cluster/health :查看集群状态2.1.2:GET /_nodes/stats:查看节点索引性能状态2.1.3:ES的cat 操作,查看ES的各种数据:get _...原创 2019-12-30 16:14:39 · 3056 阅读 · 0 评论 -
(三)ES基于Rest Client的JAVA API开发
ES的JAVA API开发文章目录ES的JAVA API开发1: ES的JAVA API开发介绍2:基于rest client开发demo2.1maven依赖2.2 建立客户端连接1: ES的JAVA API开发介绍ES提供几种客户端供使用,引入不同的maven依赖即可transport在ES7.0之后将会逐步去除当ES的版本是6.0.0以上时,其建议我们使用官方的Java High-...原创 2019-12-30 17:46:24 · 2963 阅读 · 0 评论 -
(四:es设置)集群elasticsearch.yaml配置参数
1:集群的分片分配规则和路由机制分片分配是将分片分配给节点的过程。这可能在初始恢复,副本分配,重新平衡或添加或删除节点时发生。有许多设置可用于控制分片分配过程:集群级别分片分配设置:控制分配和重新平衡操作。磁盘的分片分配设置:介绍了Elasticsearch如何考虑可用磁盘空间以及相关设置。分片分配感知和强制感知控制了如何在不同机架或可用性区域之间分配分片。集群级分片分配过滤允许某些节点或某些节点组从分配中排除,以便将其停用。1.1:集群级别的设置1:控制分片的分配和恢复控制未分配的主分原创 2020-09-21 18:00:10 · 6240 阅读 · 0 评论 -
(五)ElasticSearch集群及插件基本使用
ElasticSearch集群基本使用1:集群基本使用集群启动:sh bin/elasticsearch 关闭:kill -9 登录web进行验证:ip:92001.1:elasticsearch head插件使用elasticsearch head安装包下载elasticsearch 的web使用界面下载elasticsearch head 插件,解压谷歌浏览器 --&...原创 2020-01-12 12:39:12 · 361 阅读 · 0 评论 -
(六)索引的增删改查
(六)elasticsearch的索引操作以及mapping文章目录(六)elasticsearch的索引操作以及mapping1:索引创建以及mapping1.1:创建索引1.2 :mapping详解1.2.1:setting部分1.2.2:mappings部分1.2.2.1:类型的公共属性1:_all字段2:_source1.2.2.2:properties:文档的字段属性定义1:字段类型t...原创 2020-01-12 21:01:07 · 540 阅读 · 0 评论 -
(六:1)Elasticsearch的分片数如何设置
每个index索引由多个分片组成,每个分片是一个lunuce,也就是一个请求的真正响应者,一台服务器上处理多个分片请求会争夺资源,包括io,cpu,内存等等。而一个分片过大会影响Elasticsearch 在重新平衡数据时可以移动分片的速度,例如发生故障后,将取决于分片的大小和数量以及网络和磁盘性能。建议值30g,分片多大会影响查询速度,导致超时等现象。所以这个问题最终是在分片大小和分片数量间的平衡。单台服务器存储分片数=每gb堆内存×20单个索引分片数=数据量÷30g每个节点建议的单个索引分片数原创 2020-05-30 19:03:08 · 3478 阅读 · 0 评论 -
(六:2)elasticsearch索引的mapping详解
1:mapping详解一个索引的设置包括setting和mapping两部分1:setting部分是对索引的设置信息,更多参数信息看官网,示例如下 "settings": { "number_of_shards": "1", 该索引的所有分片数,每个节点每GB堆空间的分片数量应该少于20个 "number_of_replicas": "0", 该索引的副本个数 "refresh_interval": "30s" 索引的段的刷新间隔 index.max_rescore_wi原创 2020-09-21 16:40:17 · 6438 阅读 · 1 评论 -
(六:3)ElasticSearch的DSL查询总结
ElasticSearch权威指南学习文章目录ElasticSearch权威指南学习1:基础入门1.1:ElasticSearch交互:检索1.1.1:使用2:分布式存储原理2.1:文档2.1文档的路由机制2.2:文档的搜索结果分析3:倒排索引以及分析3.1:倒排索引3.1.1:[translog文档介绍](https://www.elastic.co/guide/en/elasticsearc...原创 2020-01-11 13:50:26 · 1198 阅读 · 0 评论 -
(六:4)ElasticSearch的查询权重
控制ElasticSearch的查询相关度官网:查询相关度1:ElasticSearch的查询权重每个文档与查询的相关度,在全文搜索引擎中不仅需要找到匹配的文档,还需根据它们相关度的高低进行排序。根据全文相关的公式或 相似算法(similarity algorithms) 会将多个因素合并起来,为每个文档生成一个相关度评分 _score 。_score 在查询结果中有显示1:相关度评分理论Lucene(或 Elasticsearch)使用 bool(bool model) 查找匹配文档时,会用一原创 2020-12-06 20:14:20 · 4144 阅读 · 0 评论 -
(七)索引的生命周期管理和rollover
(七)使用rollover实现索引的生命周期管理1:介绍rollover API 使你可以根据索引分片大小,文档数或创建时长自动过渡到新索引。 当 rollover 触发后,将创建新索引,写别名(write alias) 将更新为指向新索引,所有后续更新都将写入新索引。比如我们为了限制单个分片的大小,总文档数。2:rollover API使用使用rollover我们需要手动触发该操作,我们业务写入的索引名为:test_field-testrollover 后的索引命名规则是索引名+"-"+6位的原创 2020-11-30 18:14:51 · 396 阅读 · 0 评论 -
(八)索引的生命周期管理
索引的生命周期管理(六)索引的增删改查1:简介我们可以使用索引生命周期管理API:ILM实现管理。Elasticsearch索引生命周期管理指:从设置、创建、打开、关闭、删除的全生命周期过程的管理学到什么查看和编辑索引设置。查看索引的映射和统计信息。执行索引级操作,例如刷新和冻结。查看和管理数据流。创建索引模板以自动配置新的数据流和索引。2:索引生命周期1:ILM定义了四个索引生命周期阶段:热hot:正在积极地更新和查询索引。暖:索引不再更新,但仍在查询中。寒冷:不再更新索引,原创 2020-11-29 12:16:24 · 394 阅读 · 0 评论 -
(九)elasticsearch常见问题总结
1:分片未分配使用ES的cat API可以分析出未分配的分片信息及未分配的原因:curl -XGET “http://ip:port/_cat/shards?v&h=index,shard,prirep,state,node,unassigned.reason” | grep UNASSIGNED解决1:开启重分配命令:curl -XPUT ‘localhost:9200/_cluster/settings’-d‘{ “transient”:{“cluster.routing.alloc原创 2020-09-08 21:18:25 · 7055 阅读 · 2 评论 -
(十)kibana汇总
1:kibana配置 kibana.yaml 文件详解kibana配置 kibana.yaml 文件详解2:kibana问题汇总1:kibana执行报"client request timeout"1.1:原因分析可能是命令执行失败或者客户端响应超时具体分析如下1:查看es的日志分析查看命令执行情况2:查看执行命令后的数据是否有变化3:此超时时间也受kibana自己控制,elasticsearch.requestTimeout :默认值 : 30000 ms等待来自后端或 Elasti原创 2020-09-10 11:14:26 · 966 阅读 · 0 评论 -
(十一)elasticsearch集群及读写调优
elasticsearch调优1:系统调优1:内存调优ES 安装后默认设置的堆内存是 1GB。如果内存相对很大,如 64G 及以上,那么我建议 ES 内存可以设置为 31G-32G(es分配总内存不超过总内存的一半)。如果内存很大可以通过多实例模式提高利用率,比如我们256G通常会部署3个实例设置 ES 集群内存的时候,还有一点就是确保堆内存最小值(Xms)与最大值(Xmx)的大小是相同的,防止程序在运行时改变堆内存大小,这是一个很耗系统资源的过程。还有一点就是避免swap交换内存,可以在配置文件原创 2021-03-31 21:31:00 · 1397 阅读 · 0 评论 -
(实战)1:用reindex实现es的索引数据迁移复制
用reindex实现es的索引数据迁移复制索引的增删改查文章目录用reindex实现es的索引数据迁移复制1:使用场景2:操作步骤步骤1:新建索引步骤2:复制数据1:使用场景1:在我们实战中可能发现我们创建的索引的mapping不满足我们的需求,但是mapping是不能更新的2::分片数据量太大,分片数不足导致我们的数据写入以及查询都非常慢2:操作步骤因为reindex的API不会复制旧索引的setting以及mapping,所以我们在使用前必须为新建的索引设置自己的mapping以及sett原创 2020-11-29 11:41:47 · 1719 阅读 · 0 评论