创建和删除|学习笔记

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 快速学习创建和删除。

开发者学堂课程【ElasticSearch 最新快速入门教程创建和删除】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/642/detail/10683


创建和删除

 

内容介绍:

一、关于创建

二、关于删除

 

一、关于创建

1.调大系统最大打开文件数

对于文件个数,要调大系统的"最大打开文件数",建议32K 其至是64K。

(1)查看系统最大打开文件数

在 Linux 系统中,可以通过 ulimit -a 进行查看,查看结果中的“open files”即为此时系统的最大打开文件数。

(2)调大系统最大打开文件数

可以通过 ulimit -n 32000对系统最大打开文件数进行设置

2.修改配置文件调整 ES 的 IVM 内存大小

(1)在 elasticsearch 核心配置文件中,可以设置 ES_MIN_MEM 和 ES_MAX_ MEM的大小,建议设置较大一些,避免频繁的分配内存,根据服务器内存大小,一般分配60%左右(默认256M)

(2)如果使用 searchwrapper 插件启动 es 的话则修改[过时,在 es1x中有用]

bin/service/elasticsearch.conf(默认1024M,2.x以后不用考虑)

3. 设置 mlockall 来锁定进程的物理内存地址

在配置文件中,修改conf/elasticsearch.yml与bootstrap.mlock

all:true,即可锁定进程的物理内存地址,也可以加快创建时的速度。

(1)分片多的话,可以提升建立索引的能力,5-20个比较合适。如果分片数过少或过多,都会导致检索比较慢。分片数过多会导致检索时打开比较多的文件,另外也会导致多台服务器之间通讯;而分片数过少会导至单个分片索引过大,所以检索速度慢。建议单个分片最多存储20G 左右的索引数据,所以,分片数量=数据总量/20G。

(2)副本多的话,可以提升搜索的能力,但是如果设置很多副本的话也会对服务器造成额外的压力,因为需要同步数据。所以建议设置2-3个副本即可,要定时对索引进行优化,不然 segment 越多,查询的性能就越差。

索引量不是很大的话情况下,可以将 segment 设置为1,在 Linux 系统中,输入:

curl-XPOST ‘http://janson01:9200/ok/_forcemerge?pretty&

max_num segments=1'

结果为

{

"_shards": {

"total": 9

"successful": 10

"failed": 0

}

}

段数优化,要全面优化索引,将其设置为1。默认设置是只需检查是否需要执行合并,如果需要执行合并,如果需要执行合才执行合并操作。【经过测试,越小,速度越快】

curl-XPOST  ‘http:/localhost:9200/crxy/optimize?max num segments=1'

java代码:cient.admin()indices().prepareOptimize("bigdata").

setMaxNumSegments(1).get()

 

二、关于删除

1. 删除文档

在 Lucene 中谢除文档,数据不会马上在硬盘上除去,而是在 lucene 索引中产生一个.del 的文件,而在检索过程中这部分数据也会参与检索,lucene 在检索过程会判断是否删除了,如果删除了再过滤掉,这样也会降低检索效率。

所以可以执行清除删除文档:

curl-XPOST 'http://locathost:9200/bigdata/optimize?only expunge deletes=true'

client.admin().indices().prepareOptimize("bigdata").setOnlyExpungeDeletes(true).get();

如果在项目开始时需要批量入库大量数据的话,建议将副本数设置为0,因为 es 在索引数据的时候,如里有副本存在,数据也会马上同步到副本中,这样会对 es 增加压力。待索引完成后将副本按需要改回来,这样可以提高索引效率。

在 Linux 系统中输入:

curl-XPOST ‘http://janson01:9200/ok/_forcemerge?pretty&

only expunge deletes=true'

结果为

{

"_shards": {

"total": 10

"successful": 10

"failed": 0

}

}

以上即为关于创建和删除的内容,其中的 elasticsearch 配置文件中有一个 in.sh,在系统中输入 vim es/config/。

根据查询结果可知,

在新版本中有一个配置文件叫作 jvm.options,输入 vim jvm.options 即可查询其配置的虚拟机及其参数。

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
搜索推荐 Java jenkins
sonar整合阿里java规范开发历程
sonar整合阿里java规范开发历程
Qt提升控件类为自定义类
Qt提升控件类为自定义类
446 0
|
开发框架 安全 .NET
文件上传绕过】——解析漏洞_IIS6.0解析漏洞
文件上传绕过】——解析漏洞_IIS6.0解析漏洞
477 4
|
前端开发 JavaScript Java
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
本文介绍了一个结合SpringBoot和Python的实用功能,旨在监控iPhone 15的库存状态并通过邮件提醒用户。系统采用SpringBoot监听苹果官网API,解析JSON数据判断是否有货,并展示最近的库存记录。此外,还能自动触发Selenium+Python脚本实现自动化购买。文中详细介绍了技术栈、接口分析、邮件配置及自动化脚本的设置方法。该项目不仅适用于熟悉后端开发的人员,也适合回顾Layui和Jquery等前端技术。
269 0
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
|
NoSQL 前端开发 数据可视化
基于Neo4j的医疗知识图谱展示系统——毕业设计绝佳选择
基于Neo4j的医疗知识图谱展示系统——毕业设计绝佳选择
318 1
|
监控 Linux Shell
但凡我早点知道这个Linux批量ping的脚本,也不至于现在还单身!
但凡我早点知道这个Linux批量ping的脚本,也不至于现在还单身!
304 1
|
9月前
|
SQL 关系型数据库 MySQL
MySQL派生表合并优化的原理和实现
通过本文的详细介绍,希望能帮助您理解和实现MySQL中派生表合并优化,提高数据库查询性能。
253 16
|
测试技术 持续交付 开发工具
掌握 Git 钩子:提升代码质量和团队协作效率
在软件开发中,保证代码质量和团队协作至关重要。Git 钩子通过在特定操作(如提交、推送)时自动执行脚本,增强了代码审查、自动化测试和持续集成。常见钩子类型包括 `pre-commit`、`post-commit`、`pre-push` 和 `post-receive`。通过配置这些钩子,开发者可以实现代码风格检查、自动化测试和自动部署等任务,从而提升代码质量和团队协作效率。例如,`pre-commit` 钩子可用于运行 ESLint 检查 JavaScript 代码风格,确保每次提交都符合编码规范。
|
自然语言处理 Java API
音频的文本切换
音频的文本切换
238 0
|
人工智能 决策智能
【AI Agent系列】【阿里AgentScope框架】3. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 顺序结构与条件分支
【AI Agent系列】【阿里AgentScope框架】3. 深入源码:Pipeline模块如何组织多智能体间的数据流?- 顺序结构与条件分支
310 2