ElasticSearch 7.X_伟伟哦的博客-CSDN博客


本站和网页 https://blog.csdn.net/u012164509/article/details/99681271 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

ElasticSearch 7.X_伟伟哦的博客-CSDN博客
ElasticSearch 7.X
伟伟哦
于 2019-08-16 16:43:39 发布
3470
收藏
分类专栏:
Elasticsearch
原文链接:https://blog.csdn.net/gyc790753906/article/details/89181823
版权
Elasticsearch
专栏收录该内容
26 篇文章
0 订阅
订阅专栏
一、介绍: 一句话概述: es是基于lucene分片(shard)存储的近实时的分布式搜索引擎。
名词解释: Lucene:使用java语言编写的存储与查询框架,通过组织文档与文本关系信息进行倒排索引,内部形成多个segment段进行存储,是es的核心组件,但不具备分布式能力。
segment:Lucene内部最小的存储单元,也是es的最小存储单元,多个小segment可合为一个较大的segment,并但不能拆分。
shard:es为解决海量数据的处理能力,在Lucene之上设计了分片的概念,每个分片存储部分数据,分片可以设置多个副本,通过内部routing算法将数据路由到各个分片上,以支持分布式存储与查询。
近实时:严格讲es并不是索引即可见的数据库,首先数据会被写入主分片所在机器的内存中,再触发flush操作,形成一个新的segment数据段,只有flush到磁盘的数据才会被异步拉取到其它副本节点,如果本次搜索命中副本节点且数据没有同步的话,那么是不会被检索到的;es默认flush间隔是1s,也可通过修改refresh_interval参数来调整间隔(为提升性能和体验,一版设置30s-60s)。
分布式:es天生支持分布式,配置与使用上与单机版基本没什么区别,可快速扩张至上千台集群规模、支持PB级数据检索;通过内部路由算法将数据储存到不同节点的分片上;当用户发起一次查询时,首先会在各个分片上完成提前批处理(这个会在之后章节详细讲解),处理后的数据汇总到请求节点再做一次全局处理后返回。
当然,也有人将es定义为开箱即用的NoSql文档数据库,这么说也没错,es借助其平滑扩展的能力实现了nosql数据库对海量数据增删改查的能力,目前市面上基于文档存储的nosql数据库有MongoDB、couchbase、es、orientdb等,几种数据库都有其各自的使用场景,其中es与MongoDB备受国内开发人员青睐,社区活跃度极高,尤其es,最近一段时间平均每个月都要发布3-4个release版本,最近官方也推出了7.0的RC版本,根据非官方消息,2019年上半年有望使用到。
二、Mapping&Setting 众所周知完成一个索引库的创建需要配置mapping与setting两部分;
mapping: 常用数据类型:text、keyword、number、array、range、boolean、date、geo_point、ip、nested、object
text:默认会进行分词,支持模糊查询(5.x之后版本string类型已废弃,请大家使用text)。
keyword:不进行分词;keyword类型默认开启doc_values来加速聚合排序操作,占用了大量磁盘io 如非必须可以禁用doc_values。
number:如果只有过滤场景 用不到range查询的话,使用keyword性能更佳,另外数字类型的doc_values比字符串更容易压缩。
array:es不需要显示定义数组类型,只需要在插入数据时用'[]'表示即可,'[]'中的元素类型需保持一致。
range:对数据的范围进行索引;目前支持 number range、date range 、ip range。
boolean: 只接受true、false 也可以是字符串类型的“true”、“false”
date:支持毫秒、根据指定的format解析对应的日期格式,内部以long类型存储。
geo_point:存储经纬度数据对。
ip:将ip数据存储在这种数据类型中,方便后期对ip字段的模糊与范围查询。
nested:嵌套类型,一种特殊的object类型,存储object数组,可检索内部子项。
object:嵌套类型,不支持数组。
es7.0新增数据类型:alias、date_nanos、features、vector
alias:并不实际存在,而是对已有字段的一种别名映射,搜索该字段与搜索实际字段返回的内容没有本质的区date_nanos:另一种时间类型,可精确到纳秒,用法类似date。features:用来存储特征向量,数据不能为0和负数,查询时只能使用rank_featurequery,该字段主要为支持后续机器学习相关功能做准备。vector:存储特征数组,支持稀疏与稠密向量存储,该字段主要为支持后续机器学习相关功能做准备。
doc_values:列式存储,为支持快速聚合与排序场景而设计,不在该类场景的可禁用
"user_id": {
"type": "keyword",
"doc_values": false
index:控制字段索引方式
analyzed:先分词再索引 not_analyzed:不分词直接索引 no:不被索引
ignore_malformed:是否忽略脏数据
ignore_malformed设置为true,如果遇到数据格式或类型错误数据将被忽略,其它字段会正常插入 如果设置为false,一旦数据不符合要求整个文档将被拒绝。
_source:不需要回显数据内容的可选择禁用该字段
"_source": {
"enabled": false
需要注意的是禁用该项后将不能支持update和索引库的reindex操作,需谨慎。
includes&excludes:_source字段黑白名单控制,可控制哪些字段在查询结果的source中出现
"_source": {
"includes": [
"*.count",
"meta.*"
],
"excludes": [
"meta.description",
"meta.attributes.*"
dynamic:动态mapping,禁用后将不会自动创建field,但数据仍可以正常插入
"dynamic":"false"
_all:es6.x默认已禁用全文索引,es7.0彻底移除该配置
"_all": {
"enabled": false
norms:控制该字段是否参与相关度排名计算,如果该字段只做过滤用可禁用该项以提升搜索性能
"categorys": {
"type": "text",
"norms": false
index_options:细粒度控制倒排索引方式
docs:只索引文档id
freqs:文档id和词频,词频可用于评分
positions:增加位置信息,位置可用于模糊和短语查询
offsets:增加偏移量,高亮时会用到偏移量信息
setting:
"index.max_result_window":20000 #控制单次查询返回的最大结果数
"index.merge.scheduler.max_thread_count": 2 #segment段合并时可使用的最大线程数,为避免过度的io操作,该值一般不超过2
"index.routing.allocation.total_shards_per_node":10 #分配到单个节点的最大分片数
"index.refresh_interval":"-1" #index刷新频率,频繁刷新会降低性能,一般设置为30s-60s;-1表示禁用刷新
"index.translog.durability":"async" #translog刷新方式,如果对数据安全性要求不算太高,可设置为async以提升性能
"index.translog.flush_threshold_size":"1024mb" #translog刷新字节条件,超过1g才会刷新
"index.translog.sync_interval":"120s" #translog刷新时间条件,超过120s才会刷新
"index.unassigned.node_left.delayed_timeout":"1d" #当有节点宕机后索引库多久触发副本balance操作
"index.search.slowlog.threshold.query.info":"1s" #超过1s的查询会被记录到慢查询日志里
"index.store.type":"niofs" #网络通信协议
"index.number_of_replicas":0 #index分片的副本数
"index.number_of_shards":8 #index分片数,需要注意的是es7.0默认索引分片数调整为1了
"index.codec":"best_compression" #index数据的压缩方式,best_compression压缩可节省4-8倍的存储空间
三、elasticsearch7.0有哪些重大改进
1、彻底废弃多type支持,包括api层面,之前版本可在一个索引库下创建多个type。
2、彻底废弃_all字段支持,为提升性能默认不再支持全文检索,即7.0之后版本进行该项配置会报错。
3、新增应用程序主动监测功能,搭配对应的kibana版本,用户可监测应用服务的健康状态,并在出现问题后及时发出通知。
4、取消query结果中hits count的支持(聚合查询除外),使得查询性能大幅提升(3x-7x faster)。这意味着,每次查询后将不能得到精确的结果集数量。
5、新增intervals query ,用户可设置多字符串在文档中出现的先后顺序进行检索。
6、新增script_core ,通过此操作用户可以精确控制返回结果的score分值。
7、优化集群协调子系统,缩减配置项提升稳定性。
8、新增 alias、date_nanos、features、vector等数据类型。
9、7.0自带java环境,所以我们在安装es时不再需要单独下载和配置java_home。
10、7.0将不会再有OOM的情况,JVM引入了新的circuit breaker(熔断)机制,当查询或聚合的数据量超出单机处理的最大内存限制时会被截断,并抛出异常(有点类似clickhouse)。
伟伟哦
关注
关注
点赞
收藏
评论
ElasticSearch 7.X
一、介绍:一句话概述:es是基于lucene分片(shard)存储的近实时的分布式搜索引擎。名词解释:Lucene:使用java语言编写的存储与查询框架,通过组织文档与文本关系信息进行倒排索引,内部形成多个segment段进行存储,是es的核心组件,但不具备分布式能力。segment:Lucene内部最小的存储单元,也是es的最小存储单元,多个小segment可合为一个较大的segmen...
复制链接
扫一扫
专栏目录
elasticsearch-analysis-hanlp-7x.zip
12-11
elasticsearch是使用比较广泛的分布式搜索引擎,es提供了一个的单字分词工具,还有一个分词插件ik使用比较广泛,hanlp是一个自然语言处理包,能更好的根据上下文的语义,人名,地名,组织机构名等来切分词
Elasticsearch 从入门到实践
m0_68036862的博客
10-22
813
从零开始与你一起学习 Elasticsearch 7.x,为你揭秘 Elasticsearch 7.x 中的核心技术。
评论 1
您还未登录,请先
登录
后发表或查看评论
Mac部署与测试Elasticsearch7x全文搜索、Elasticsearch-analysis-ik中文分词、Kibana命令界面
天青色等烟雨
08-05
209
You need know
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据D
Elasticsearch7从入门到精通(简介、部署、原理、开发、ELK)
最新发布
wt334502157的博客
11-04
747
Elasticsearch官方网站:https://www.elastic.co/cn/elasticsearch/Elasticsearch是一个基于Lucene的搜索服务器提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Pyt
【001】elasticsearch7.x入门实践-简单部署
x734400146的专栏
05-09
65
1.环境准备 Linux 7.9
注意:我本机安装的有jdk,并配置相关环境,如果没有相关环境需要参考
https://blog.csdn.net/pang_ping/article/details/80570011 先配置环境
1.1切换到根目录
cd /
1.2创建 server目录
mkdir server
cd /server
1.3 下载 elasticsearch
wgethttps://artifacts.elastic.co/download...
elastic search:基础语法7.x
lixiang19971019的博客
03-18
594
花了2小时装完了elastic search,那么得花半小时了解下简单语法了,把简单语法的操作学习了一下,然后在这边做一个记录.
es支持restful风格api,操作可以用http请求实现
创建一个新的索引库:
PUT /leyou #库名
"settings": {
"number_of_shards": 1, #分片数量
"number_of_...
【elasticsearch】转载 Elasticsearch7.x 之Reindex数据迁移详解
Mrerlou的博客
11-02
362
转载地址:https://rstyro.github.io/blog/2020/10/23/Elasticsearch7%E4%B9%8BReindex%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E8%AF%A6%E8%A7%A3/
一、前言
ES在创建好索引后,mapping的properties属性类型是不能更改的,只能添加。如果说需要修改字段就需要重新建立索引然后把旧数据导到新索引。
二、Reindex
5.X版本后新增_reindex API 。Reindex可以直接在
elasticsearch 7.x基础(query、filter、相关性和分词器)
liaomingwu的专栏
01-22
260
elasticsearch 7.x基础(query、filter、相关性和分词器)
Elasticsearch 7.3.0 翻译 - 《Getting started with Elasticsearch》 搜索数据 - 过滤搜索
肥嫩的羊排
08-14
72
过滤搜索
在上一节中,我们跳过了一个称为文档得分(搜索结果中的_score字段)的小细节。分数是一个数值,它是文档与我们指定的搜索查询匹配程度的相对度量。得分越高,文件越相关,得分越低,文件越不相关。
但是查询并不总是需要生成分数,特别是当它们只用于“过滤”文档集时。ElasticSearch检测到这些情况,并自动优化查询执行,以避免计算无用的分数。
我们在前一节中介绍的boolquer...
elasticsearch 7.x 学习分享(1)
zbzdfcs的博客
10-29
69
elasticsearch 7.6.x 学习分享1、elasticsearch概述2、elasticsearch安装[window环境]2.1 elasticsearch客户端2.2 elasticsearch界面工具3、环境测试
之前其实也有学习过elasticsearch,只不过时间过去太久,并且当时学的也不是很深,正好在逛B站的时候发现了狂神的是7.6.x的版本的视频,比市面上现有的大多教程要新的多,感觉非常有学习价值,就重新学习一下,并分享给需要的人。视频传送地址:B站狂神说
1、elastic
ElasticSearch7学习笔记之Mapping
四国棋客
12-25
1296
文章目录背景数据类型DynamicMapping能否更改Mapping的字段类型dynamic为falsedynamic为strict自定义Mapping定义字段可否被检索空值响应copy_to字段拼接IndexTemplate更新模板查看模板DynamicTemplate
背景
ES中的Mapping类似数据库中的schema,用来定义索引中的字段名称、数据类型以及配置字段和倒排索引相关信息
数据类型
简单类型:Text/Keyword、Date、Integer/Floating、Boolean、IPv4
elasticsearch 7.x 聚合查询
azh89125的博客
01-20
226
elasticSearch 7.x 聚合查询
ElasticSearch7.X安装部署
qq_28684191的博客
07-29
153
ElasticSearch7.X安装部署,简单粗暴命令摆上,缺少es的下载地址,直接在官网下载一下https://www.elastic.co/cn/downloads/past-releases#elasticsearch,最新的版本是8.X,部署原理应大同小异,我笔记19年整理的
ElasticSearch7.x「新特性」
cristianoxm的博客
03-23
396
ES 数据库的存储结构变化:去除了Type
es6时,官方就提到了es7会删除type,并且es6时已经规定每一个index只能有一个type。在es7中使用默认的_doc作为type,官方说在8.x版本会彻底移除type。
api请求方式也发送变化,对索引的文档进行操作的时候,默认使用的Type是 _doc 如获得某索引的某ID的文档:GET index/_doc/id其中index和id为具体的值
创建索引mapping关系的时候,容易出的错:Root mapping defini.
Elasticsearch7.X 入门学习第八课笔记-----索引模板和动态模板
qq_36697880的博客
09-10
3401
本章,我们将简单介绍索引模板和动态模板的内容。其实,在前面章节,我们已经粗略地用到了动态模板,但是没有明确提出这样的概念。
索引模板Index Template
索引模板,英文名为Index Template。它是一种机制,这种机制允许我们定义一种模板,这种模板当新索引创建时将被自动应用。模板包含settings和mapping,以及这个模板是否可被应用于新的索引。
索引模板有以下限制:
...
Elasticsearch 7.x 之文档、索引和 REST API 【基础入门篇】
qq_16229873的博客
10-17
194
前几天写过一篇《Elasticsearch 7.x 最详细安装及配置》,今天继续最新版基础入门内容。这一篇简单总结了 Elasticsearch 7.x 之文档、索引和 REST API。
什么是文档
文档Unique ID
文档元数据
什么是索引
REST API
一、索引文档(Document)
1.1 白话什么是文档
从使用案例出发,Elasticsearch 是面向文档,文档...
Elastic search 7.X 去掉了type的原因
qq_30665009的博客
12-03
353
以下为官网原文 链接Why are mapping types being removed?edit
Initially, we spoke about an “index” being similar to a “database” in an SQL database, and a “type” being equivalent to a “table”.
This was a bad ...
centos8.X 安装elasticsearch7.x
Z.X的博客
10-06
215
2020年10月6日00:31:26
1,注意elasticsearch和java的版本关系
https://www.elastic.co/cn/support/matrix#matrix_jvm
2,安装jdk,这里因为是elasticsearch7.x所以必须是java11以上的版本
yum search java | grep -i --color JDK
yum install ja...
语法手册_Elasticsearch7.x DSL语法实践手册汇总
weixin_35157304的博客
01-01
62
??记得点击上方蓝字“程序员小强”关注哦?发送关键字“elasticSearch”到公众号获取相关篇1.数据类型介绍Text:字符串类型, 可分词,不可参与聚合Keyword:不可分词,数据会作为完整字段进行匹配,可以参与聚合Date:日期类型,通常配合format使用 比如{“type”:”date”,”format”:”yyyy-MM-dd”}Long,integer,short…B...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:技术黑板
设计师:CSDN官方博客
返回首页
伟伟哦
CSDN认证博客专家
CSDN认证企业博客
码龄9年
暂无认证
324
原创
4万+
周排名
4万+
总排名
29万+
访问
等级
4040
积分
50
粉丝
100
获赞
29
评论
565
收藏
私信
关注
热门文章
ARPU与ARPPU 的概念
34993
kafka group_id解释
14426
Python datetime 格式化字符串:strftime() strptime
12677
python if in 表达式方式
11781
python pandas 查看数据集列和行
8421
分类专栏
Clickhouse
Redis
2篇
算法
18篇
Kubernetes
数据结构
21篇
Docker
3篇
Nginx
4篇
Laravel
11篇
微服务
4篇
Linux
12篇
设计模式
16篇
TP6
数据分析
8篇
MyCAT
6篇
Go
1篇
其它
3篇
swoole
吃的做法
Django
5篇
安全
架构
3篇
数学
TP5
4篇
Hive
7篇
爬虫
Azkaban
6篇
Excel
Mysql
36篇
Python
104篇
防火墙
1篇
workerman
9篇
Shell
6篇
Elasticsearch
26篇
Hadoop
3篇
PHP
47篇
Vue
2篇
CSS
2篇
kafka 消息队列
9篇
ELK
3篇
Logstash
4篇
Filebeat
2篇
Kibana
1篇
socket
TCP/IP
2篇
游戏运营数据基本知识
2篇
openTSDB
Spark
8篇
最新评论
Hadoop安装目录
SUNsHinE__LJ:
hdfs显示无法加载主类org.apache.hadoop.hdfs.server.namenode.NameNode:
python AVL树的插入
Dlgd_:
因为前面 if node.parent.bf < 0 已经判断好了 .. node.parent.bf < 0 说明 node插在了左边 .如果node插在了右边 那么 node.parent.lchild == node就不会成立
python AVL树的插入
Dlgd_:
AVL树的 162行到165行 是多余的。可以把166行直接放到162行 然后162-165直接删掉
Hadoop安装目录
雨雨雨雨雨雨雨yu:
我的hdfs不知道为什么它显示的是没有这个指令怎么办
python 阻塞IO
Travis Wang:
如何解决?
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
vscode 安装
CentOS cannot find a valid baseurl for repo base/7/x86_64
AMQP 讲解
2022年1篇
2021年16篇
2020年117篇
2019年224篇
目录
目录
分类专栏
Clickhouse
Redis
2篇
算法
18篇
Kubernetes
数据结构
21篇
Docker
3篇
Nginx
4篇
Laravel
11篇
微服务
4篇
Linux
12篇
设计模式
16篇
TP6
数据分析
8篇
MyCAT
6篇
Go
1篇
其它
3篇
swoole
吃的做法
Django
5篇
安全
架构
3篇
数学
TP5
4篇
Hive
7篇
爬虫
Azkaban
6篇
Excel
Mysql
36篇
Python
104篇
防火墙
1篇
workerman
9篇
Shell
6篇
Elasticsearch
26篇
Hadoop
3篇
PHP
47篇
Vue
2篇
CSS
2篇
kafka 消息队列
9篇
ELK
3篇
Logstash
4篇
Filebeat
2篇
Kibana
1篇
socket
TCP/IP
2篇
游戏运营数据基本知识
2篇
openTSDB
Spark
8篇
目录
评论 1
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值