搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小惠珠哦
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Ubuntu18.04安装Anaconda、cuda、cudnn、pytorch 、pycharm(附:保姆级图文流程)_ubuntu18安装anaconda
2
最新区块链论文速读--CCF A会议 SIGMOD 2024 共2篇 附pdf下载_sigmod2024会议哪里开
3
3h精通OpenCV(一)-读取图像视频与网络摄像头_opencv读取图像
4
【Python笔记-FastAPI】后台任务+WebSocket监控进度_fastapi list[websocket]
5
STM32维特智能JY60HAL库读取_维特iic读取
6
github.com连接超时
7
数据结构进阶篇,数组连续子序列专题
8
一篇文章搞懂富人的内在逻辑|普通人如何改变命运?【财富02】_有钱人社会的运行逻辑
9
基于HTML5气3D仿真培训系统
10
【全网第一详细】Windows下编译使用GPU版本的DLib_windows 安装dlib gpu
当前位置:
article
> 正文
Elasticsearch 索引和文档的管理(五)_new indexsettings.builder().autoexpandreplicas
作者:小惠珠哦 | 2024-07-20 23:59:48
赞
踩
new indexsettings.builder().autoexpandreplicas
今天分析
Elasticsearch
索引和文档的管理:
在
es
中,索引和文档是
REST
接口操作的最基本资源,所以对索引和文档的 管理也是我们必须要知道的。索引一般是以索引名称出现在 REST
请求操作的资 源路径上,而文档是以文档 ID
为标识出现在资源路径上。映射类型
_doc
也可以 认为是一种资源,但在 es7
中废除了映射类型,所以可以
_doc
也视为一种接口。
索引的管理
在前面的学习中我们已经知道,GET 用来获取资源,PUT 用来更新资源, DELETE 用来删除资源。所以对索引,GET 用来查看索引,PUT 用来创建索引,DELETE 用来删除索引,还有一个 HEAD 请求,用来检验索引是否存在。除此之外,对索 引的管理还有
列出所有索引
GET /_cat/indices?v
关闭索引和打开
POST /open-soft/_close
除了删除索引,还可以选择关闭它们。如果关闭了一个索引
,
就无法通过 Elasticsearch 来读取和写人其中的数据,直到再次打开它。 在现实世界中,最好永久地保存应用日志,以防要查看很久之前的信息。另 一方面,在 Elasticsearch
中存放大量数据需要增加资源。对于这种使用案例,关 闭旧的索引非常有意义。你可能并不需要那些数据,但是也不想删除它们。 一旦索引被关闭,它在 Elasticsearch
内存中唯
-
的痕迹是其元数据,如名字 以及分片的位置。如果有足够的磁盘空间,而且也不确定是否需要在那个数据中 再次搜索,关闭索引要比删除索引更好。关闭它们会让你非常安心,永远可以重 新打开被关闭的索引,然后在其中再次搜索。 重新打开 POST /open-soft/_open
配置索引
通过
settings
参数配置索引,索引的所有配置项都以“
index
”开头。索引的 管理分为静态设置和动态设置两种。
静态设置
只能在索引创建时或在状态为
closed index
(闭合索引)上设置,主要配置 索引主分片、压缩编码、路由等相关信息
index.number_of_shards
主分片数,默认为
5.
只能在创建索引时设置,不能 修改index.shard.check_on_startup
是否应在索引打开前检查分片是否损坏,当 检查到分片损坏将禁止分片被打开。false
:默认值;
checksum
:检查物理损坏;
true:
检查物理和逻辑损坏,这将消耗大量内存和
CPU
;
fix
:检查物理和逻辑损坏。 有损坏的分片将被集群自动删除,这可能导致数据丢失 index.routing_partition_size 自定义路由值可以转发的目的分片数。默认为
1
, 只能在索引创建时设置。此值必须小于 index.number_of_shards index.codec 默认使用
LZ4
压缩方式存储数据,也可以设置为 best_compression,它使用
DEFLATE
方式以牺牲字段存储性能为代价来获得更高 的压缩比例。
如:put test1
{
"settings": {
"index.number_of_shards": 3,
"index.codec": "best_compression"
}
}
动态设置
通过接口“
_settings
”进行,同时查询配置也通过这个接口进行,比如:
get _settings
get /open-soft/_settings
get /open-soft,test1/_settings
配置索引则通过:
put test1/_settings
{
"refresh_interval":"2s"
}
常用的配置参数如下:
index.number_of_replicas
每个主分片的副本数。默认为
1
index.auto_expand_replicas
基于可用节点的数量自动分配副本数量
,
默认为
false
(即禁用此功能)
index.refresh_interval
执行刷新操作的频率。默认为
1s
。可以设置为
-1
以 禁用刷新。
index.max_result_window
用于索引搜索的
from+size
的最大值。默认为 10000
index.blocks.read_only
设置为
true
使索引和索引元数据为只读,
false
为 允许写入和元数据更改。
index.blocks.read
设置为
true
可禁用对索引的读取操作
index.blocks.write
设置为
true
可禁用对索引的写入操作
index.blocks.metadata
设置为
true
可禁用索引元数据的读取和写入
index.max_refresh_listeners
索引的每个分片上可用的最大刷新侦听器数
index.max_docvalue_fields_search
一次查询最多包含开启
doc_values
字段 的个数,默认为 100
index.max_script_fields
查询中允许的最大
script_fields
数量。默认为
32
。
index.max_terms_count
可以在
terms
查询中使用的术语的最大数量。默认 为 65536
。
index.routing.allocation.enable
控制索引分片分配。
All(
所有分片
)
、
primaries (主分片)、new_primaries
(新创建分片)、
none
(不分片)
index.routing.rebalance.enable
索引的分片重新平衡机制。
all
、
primaries
、 replicas、
none
index.gc_deletes
文档删除后(删除后版本号)还可以存活的周期,默认 为 60s
index.max_regex_length
用于正在表达式查询
(regex query)
正在表达式长度, 默认为 1000
配置映射
通过
_mapping
接口进行,在我们前面的章节中,已经展示过了。
get /open-soft/_mapping
或者只看某个字段的属性:
get /open-soft/_mapping/field/lang
修改映射,当然就是通过
put
或者
post
方法了。但是要注意,已经存在的 映射只能添加字段或者字段的多类型。但是字段创建后就不能删除,大多数参数 也不能修改,可以改的是 ignore_above。所以设计索引时要做好规划,至少初始 时的必要字段要规划好。
文档的管理
增加文档
增加文档,我们在前面的章节已经知道了,比如:
put /open-soft/_doc/1
{
"name": "Apache Hadoop",
"lang": "Java",
"corp": "Apache",
"stars":200
}
如果增加文档时,在
Elasticsearch
中如果有相同
ID
的文档存在,则更新此文 档,比如执行
put /open-soft/_doc/1
{
"name": "Apache Hadoop2",
"lang": "Java8",
"corp": "Apache",
"stars":300
}
则会发现已有文档的内容被更新了。
文档的
id
当创建文档的时候,如果不指定
ID
,系统会自动创建
ID
。自动生成的
ID
是 一个不会重复的随机数。使用 GUID
算法,可以保证在分布式环境下,不同节点 同一时间创建的_id
一定是不冲突的。比如:
post /open-soft/_doc
{
"message":"Hello"
}
查询文档
get /open-soft/_doc/1
更新文档
前面我们用
put
方法更新了已经存在的文档,但是可以看见他是整体更新文 档,如果我们要更新文档中的某个字段怎么办?需要使用_update
接口。
post /open-soft/_update/1/
{
"doc": {
"year": 2016
}
}
如果文档中存在
year
字段,更新
year
字段的值,如果不存在
year
字段,则 会新增 year
字段,并将值设为
2016
。
update
接口在文档不存在时提示错误,如果希望在文档不存在时创建文档, 则可以在请求中添加 upsert
参数或
doc_as_upsert
参数,例如
:
POST /open-soft/_update/5
{
"doc": {
"year": "2020"
},
"upsert": {
"name": "Enjoyedu Framework",
"corp": "enjoyedu "
}
}
或:
POST /open-soft/_update/6
{
"doc": {
"year": "2020"
},
"doc_as_upsert": true
}
upsert
参数定义了创建新文档使用的文档内容,而
doc_as_upsert
参数的含 义是直接使用 doc
参数中的内容作为创建文档时使用的文档内容。
删除文档
delete /open-soft/_doc/1
今天分析到此结束,下一篇分析数据检索和分析,敬请期待。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小惠珠哦/article/detail/858920
推荐阅读
article
Elasticsearch
去重后求和
_
es
求合
...
我首先想到的是 collapse 搭配 cardinality,再sum,那效果如何呢。非常好,达到期望,这个是先求平均...
赞
踩
article
Elasticsearch
-
Elasticsearch
核心
概念
(二)
_
elasticsearch
...
Elasticsearch
是面向文档型数据库,一条数据在这里就是一个文档
Elasticsearch
存储文档数据和关系型...
赞
踩
article
Docker
简单部署
Elasticsearch
7.16
.2 与使用文档超详细图文步骤_dock...
1、简介1.1、概述
Elasticsearch
是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索...
赞
踩
article
使用Docker
安装
Elasticsearch
、
Elasticsearch
-
head
、IK
分词器
...
Elasticsearch
的
安装
一、elasticsearch的
安装
1.镜像拉取
docker
pull elastics...
赞
踩
article
docker
安装
ES(指令
安装
)(
Elasticsearch
)_
docker
安装
es
...
es
(
Elasticsearch
)的
安装
教程_
docker
安装
es
docker
安装
es
...
赞
踩
article
ES
(
Elasticsearch
)
的
docker
安装
部署教程_
docker
安装
es
(1)_dock...
注:上图2年之前表示该elasticsearch
的
7.10.1镜像版本是2年前制作
的
。
ES
集群
安装
要求桥接网络和一定
的
v...
赞
踩
article
ES(ElasticSearch)
索引
创建
_
es
创建
index
...
ES 默认提供了好多
索引
配置选项,参考https://www.elastic.co/guide/en/elasticse...
赞
踩
article
【DevOps】
Elasticsearch
数据
跨
集群
同步
方案_
elasticsearch
集群
实时
...
选择哪种 ES
数据
跨
集群
同步
方案取决于您的具体需求,例如
数据
实时
性要求、
数据
量、
集群
版本、网络环境等。CCR 是官方推...
赞
踩
article
elastic
search
SQL
:在
Elasticsearch
中
启用
和使用
SQL
功能_elasti...
。
Elasticsearch
SQL
是
Elasticsearch
的扩展功能,允许用户使用
SQL
语法查询Elasticse...
赞
踩
article
Elasticsearch
多
索引
/多
类型
搜索
_es 多
索引
...
Elasticsearch
的多
索引
搜索
功能为跨多个数据集进行联合查询提供了极大的便利。通过灵活使用
索引
名、通配符和组合查...
赞
踩
article
Springboot整合
docker
部署的
ELK
(ElasticSearch、
Kibana
、LogS...
1.系统:centos7.9。2.配置:2核8GB内存80GB存储。3.安装
docker
,
docker
-compose。...
赞
踩
article
【
Elasticsearch
】存在
数据
的
分片
分配
流程梳理_
es
数据
如何
分配
至某个
分片
...
文章详细描述了
Elasticsearch
中master节点如何通过master节点和datanode之间的交互,通过al...
赞
踩
article
ElasticSearch
核心原理_
es
的
分片
存储
...
ElasticSearch
核心原理本章主题:1、
es
集群架构节点负载均衡问题2、集群故障探查问题3、
es
分片
存储
问题及分...
赞
踩
article
Elasticsearch
(ES)
搜索
引擎:
搜索
功能
:
搜索
分页、
搜索
匹配
、
全文
搜索
、
搜索
建议、...
全文
搜索
一般指对文本(text)类型数据的
搜索
。与 term、range 等全
匹配
的结构化
搜索
不同,
全文
搜索
可以部分
匹配
...
赞
踩
article
ElasticSearch
实战: ES
搜索
API
_
es
api...
Elasticsearch 的
搜索
API
是其最强大的功能之一,允许您根据各种条件高效地查找和筛选索引中的文档。_
es
...
赞
踩
article
ES
(
ElasticSearch
)
搜索
_
es
获取
每个
索引
当天
搜索
词...
ES
(
ElasticSearch
)
搜索
1、
ES
简介
ElasticSearch
是一个基于Lucene的实时的分布式
搜索
和分...
赞
踩
article
Elasticsearch-7.8.0
创建
索引
底层
源码
分析
(1)_
elasticsearch
创建
...
1、前言本专栏系列基于
elasticsearch
-7.8 版本
分析
陆续打算推出的博文列表如下:1、
创建
索引
底层
源码
分析
...
赞
踩
article
elasticsearch
搜索...
1、安装1)下载:官方下载地址:Download Elasticsearch | Elastic我是去历史版本里下载的 ...
赞
踩
article
Elasticsearch
搜索
_
elastic
搜带空格日志...
空白
搜索
搜索
API最常用的一种形式就是空白
搜索
,也就是不加任何查询条件的,只是返回集群中所有文档的
搜索
。GET /
_
se...
赞
踩
article
elasticsearch
分片
和副本_
es
分片
数量
多少合适...
一.
分片
分片
包括主
分片
和副本
分片
,主
分片
的
数量
在创建索引时就固定下来了,无法更改主
分片
数量
。1.
es
的
分片
是使用在索...
赞
踩
相关标签
elasticsearch
jenkins
android
Elasticsearch
docker
单机
7.16.2
7
elasticsearch-head
ik
es、es-head、ik
容器
搜索引擎
大数据
网络
java
devops
运维
logstash
kafka