Elasticsearch 入门到高手的成长阶梯-索引的基本操作(1)

Elasticsearch搜索引擎 本篇博客系统地介绍了Elasticsearch 7.14.0在windows环境下安装、基本使用、Springboot集成Elasticsearch以及ELK搭建。 阅读详情

1. 创建索引

Elasticsearch中索引的名称,必须符合以下要求:

  • 字母只能够是小写字母
  • 不能够包含特殊字符,如\, /, *, ?, ", <, >, |, ` ` , ,, #等
  • 名称不能够以英文的中划线“-”、下划线“_”以及加号“+”开头
  • 名称不可以是“.”或“..”
  • 名称的长度否以超过255个字节

 

  1. 1 创建全部使用默认参数的索引

索引的创建,需要使用PUT方法,以下是一个最简单的索引创建语句:

PUT /new_index

{}

这将会创建一个完全使用默认配置为为new_index的索引,索引的主分片数和副本数默认都是1个,这通常是不能够满足生产环境真实的业务需求,此时就需要在建立索引之前规划好需要的主分片数和副本数,然后在建立索引时指定这些参数。

  1. 2 创建指定分片和副本的索引

下面建立一个具有5个主分片及每个主分片有一个副本的示例,如下所示:

PUT /new_index

{

    "settings" : {

        "number_of_shards" : 5,

        "number_of_replicas" : 1

    }

}

索引的副本,后面可以根据业务情况,通过API执行动态调整,如下将上面建立的索引的副本数设置为2个:

PUT /new_index/_settings

{

    "number_of_replicas" : 2

}

索引的主分片数,后面是不可以通过设置动态调整的,只有通过建立新的索引设置新的主分片数,然后重新建立索引的方式达到增加主分片数的方式。因而在建立索引之前,需要根据该库的业务使用情况,先规划好主分片数,否则后期就只有通过reindex的方式调整主分片数。

  1. 3 创建带有mapping的索引

Mapping就是用来指定索引中字段使用的类型,如数字、字符还是日期等,还可以控制字段被索引的方式,如是否需要被分析、使用什么样的分析器等。

以下示例索引,包含了三个字段,并通过mapping分别给其指定的不同的字段类型:

PUT /new_index

{

    "settings" : {

        "number_of_shards" : 2,

"number_of_replicas" : 2

    },

    "mappings" : {

        "properties" : {

            "name" : { "type" : "text" },

"age" : { "type" : "short" },

"birth_date" : { "type" : "date" }

        }

    }

}

 

2.删除索引

删除索引使用DELETE方法,可以一次删除一个索引,如下:

DELETE /new_index

也可以通过通配符*匹配一次删除多个索引

DELETE /new_index*

不过使用通配符删除,增加了方便性,但同时也增加了危险性,在2.3.1这一章节中,有谈到如何控制是否允许在删除索引的时候使用通配符。

3.获取索引的信息

获取索引的信息使用GET方法,会返回这个索引本身的别名、mapping以及相关设置等信息,如下:

GET /new_index

响应:

{

  "new_index" : {

    "aliases" : { },

    "mappings" : {

      "properties" : {

        "age" : { "type" : "short" },

        "birth_date" : { "type" : "date" },

        "name" : { "type" : "text" }

      }

    },

    "settings" : {

      "index" : {

        "creation_date" : "1556753099705",

        "number_of_shards" : "2",

        "number_of_replicas" : "3",

        "uuid" : "Vh2Ne7srT7-gh_dQaWlF8Q",

        "version" : { "created" : "7000099" },

        "provided_name" : "new_index"

      }

    }

  }

}

4. 判断索引是否存在

当执行文档索引时,如果目标索引不存在,Elasticsearch会自动创建该索引,通常情况下这是一个好的处理逻辑。但是有时不希望Elasticsearch自动创建不存在的索引,以便于做一些的逻辑上的控制,此时就需要判断被操作的索引是否存在了,判断索引是否存在,需要使用HEAD方法,如下:

HEAD /new_index

响应:

200 - OK

表示索引存在。

如响应:

404 - Not Found

则表示索引不存在。

​​​​​​​5. 开/关索引

当需要对索引做一些关键的设置时,如为索引增加自定义分析器,就需要先关闭索引才可以执行。Elasticsearch提供了_open和_close API允许执行对索引的开和关的操作,该操作需要使用POST方法。

5.1 关闭索引

POST /new_index/_close

响应

{

  "acknowledged" : true

}

表示索引关闭成功。

 

5.2 打开索引

POST /new_index/_open

响应

{

  "acknowledged" : true,

  "shards_acknowledged" : true

}

表示索引打开成功。

分布式搜索引擎之elasticsearch基本使用1 什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。 阅读详情

相关推荐

实时搜索引擎Elasticsearch(1)——基础概念、安装和运行

Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。本文介绍它的基础概念、安装、运行以及配置。

HinyLover的专栏 2万+

ElasticSearch基础入门

ElasticSearch入门

qq_36280879的博客 1217

处理特殊字符的方法及大数据应用

同时,在大数据领域中,ES具有广泛的应用,包括数据索引与搜索、实时数据分析、日志管理与分析以及推荐系统等。通过结合ES的强大功能和灵活性,我们可以高效地处理和分析大规模的数据集,并从中获取有价值价值的信息。上述代码中,我们首先创建了一个ES客户端,然后创建了一个名为"my_index"的索引,并索引了一个包含文本"大数据分析"的文档。ES在推荐系统中也有广泛的应用。ES提供了查询字符串查询的功能,可以通过在查询字符串中使用引号将特殊字符包围起来,以确保它们被视为普通字符而不是具有特殊含义的字符。

AlianBlank的博客 1047

elasticsearch的indexId中使用竖划线|作分隔符时报错

elasticsearch的indexId中使用竖划线|时报错:使用中划线——可以,英文下划线_不报错 java.lang.IllegalArgumentException: Illegal character in path at index 57: /table_53ec17473f834426ad0cfa4fd3a2de8b ...

qq_34412985的博客 459

QMI8658A和QMC5883L传感器校准全攻略:从零偏校准到椭球拟合

本文详细解析了QMI8658A和QMC5883L传感器的校准方法,从零偏校准到椭球拟合,涵盖了9轴运动传感器的核心误差来源及补偿技术。通过实战案例和数学建模,帮助开发者提升传感器精度,适用于无人机、AR/VR等智能硬件应用。

weixin_29189381的博客 157

OpenSSH命令注入漏洞复现(CVE-2020-15778)

OpenSSH命令注入漏洞复现 1、简介 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现,ssh主要就是用来远程控制计算机,或传输文件,OpenSSH是使用SSH透过计算机网络加密通讯的实现。 2、漏洞概述 该漏洞是存在于scp在拷贝文件时产生的一个代码注入漏洞,攻击者可以利用此漏洞执行任意命令,比如:反弹shell, 3、影响版本 openssh <= openssh-8.3p1 4、实验环境 首先下载openssh,版本要符合漏洞影响的版本 服务端:apt-get

weixin_44537595的博客 3637

ElasticSearch检索时特殊字符处理

1. 处理措施 ElasticSearch检索时,出现特殊字符而没有做正确的处理,那么ElasticSearch将无法识别这条检索语句,则会抛出异常,此时就的对检索语句进行转义; 例如: String title = "title+-&&||!(){}[]^\"~*?:\\"; title = QueryParser.escape(title); // 主要就是这一句把特殊字符都转义,那么lucene就可以识别 searchRequestBuilder.setQuery(QueryBuil

不见其长,日有所长 4412

中兴OLT配置实战:从零开始,手把手教你完成一个HGU的完整业务开通(含DBA模板、限速与远程升级)

本文详细介绍了中兴OLT配置实战,从零开始手把手教你完成HGU的完整业务开通,包括DBA模板设计、限速与远程升级等关键步骤。通过实际案例和详细命令,帮助工程师快速掌握GPON网络配置技巧,提升运维效率。

weixin_30599769的博客 348

elasticsearch--搜索中特殊字符的处理

转载:http://www.cnblogs.com/dennisit/p/3363851.html   当搜索索引的时候,你搜索关键字包含了特殊字符,那么程序就会报错 import org.apache.lucene.queryParser.QueryParser; // fieldQuery 这个必须是你的索引字段哦,不然查不到数据,这里我只设置两个字段 id ,title...

xiaomin1991222的专栏 5245

正版63棋牌源代码游戏+728游戏全套带前端源代码解析

这俩天抽时间仔细看了一下这套项目包含完整的前端、后端及后台管理系统。从上传的截图可以看出,前端基于资源目录,后端采用和,后台管理界面提供数据查询与管理功能。本篇文章将从前端结构、后端接口、数据库设计、常见 BUG 及优化方法等方面逐步拆解,并给出相应的代码示例和实践经验。

aa2031171的博客 3571

stata:stata软件教程(人大十八讲)(1) 第一章 stata入门

第一章 stata入门1.1 安装1.2 启用和退出1.3 打开和查看数据1.4 寻求帮助与网络资源1.5 命令示例1.6 几个环境设置1.7 复习与练习1.8 附录 注:教材为:Stata 统计分析教程 stata软件教程(人大十八讲) 中国人民大学出版社 陈传波 1.1 安装 1.2 启用和退出 1.3 打开和查看数据 1.4 寻求帮助与网络资源 1.5 命令示例 1.6 几个环境设置 1.7 复习与练习 1.8 附录 ...

qq_47805483的博客 1万+

详解最热门搜索引擎——ES

一、产生背景 ​ 互联网发展早期的时候,对于一般的公司储存的数据量不是那么的大,所以很多公司更倾向于使用数据库去存储和查询数据,如:现在去MySQL中查询数据,大概的查询方式就是:select * from table where filed like “%XXX%”或者其他方式,但是,如果我们在查询的时候没有用到或命中数据库建立的索引话,则会扫描整张表,即便是MySQL做过单表查询能力优化,但是他的极限也只在400万左右,且还会经常出现超时现象,让后为了解决这些问题,。很多公司就开始对数据库进

会编程的小郑 1万+

基于YOLOv8的玉米病害监测系统

本研究的主要目标是设计并实现一个基于深度学习的玉米病害识别系统,通过采用YOLOv8算法进行玉米叶片病害的自动化识别。研究首先对玉米病害的种类和特点进行了分析,选择了具有代表性的病害类型,如玉米锈病、灰叶斑病、枯叶病和健康叶片,以构建一个多类别的分类问题。数据集的构建和处理是研究的关键部分,通过数据增强、图像标注等手段确保了数据的多样性和丰富性,从而提高了模型的泛化能力。

yupan__的博客 496

分布式搜索引擎ES-elasticsearch入门

正排索引:相当于文档中的一条条记录;例子:汉语值得学习;汉语是语言;汉语学习视频;倒排索引:起源于实际应用中需要根据属性的值来查询记录。这种索引表的每一项都包括一个属性值和包含该属性值得各个记录地址。由于不是根据记录来确定属性,而是根据属性来确定记录的位置。可以记录文档的ids,词频跟位置例子:汉语值得学习;汉语是语言;汉语学习视频;单词文档ids词频TF;位置POS汉1,2,3语1,2,3值得11:1:<3>学习1,3是21:1;<3>言2。

TOMORROW6COME的博客 2051

小梅哥Xilinx FPGA学习笔记11——亚稳态

亚稳态就是D触发器输入信号在其数据窗口期内发生变化,导致D触发器的输出进入一段时间的不稳定状态,有可能发生振荡,并最终随机稳定在高电平或者低电平。

m0_51430584的博客 631

【YOLO部署Android安卓手机APP】YOLO11部署到安卓实时目标检测识别——以火焰烟雾目标检测识别举例(可自定义更换其他目标)

本项目基于YOLOv11部署到手机APP实现对火焰烟雾的检测识别,当然,以此你可以按照本项目开发步骤扩展更换为其他目标进行检测,例如更换为车牌、手势、人脸面部活动、人脸表情、火焰烟雾、行人、口罩、行为、水果、植物、农作物等等部署手机APP进行检测。本文为详细设计/配置文档,包含完整所需的环境配置搭建,项目工程配置步骤等,手把手记录使用pycharm和Android studio的工程开发过程,实现YOLO部署到安卓。实战开发,亲测无误。演示视频训练了50轮进行了展示(为演示,训练轮数较少,你可以训练轮数多些

嵌入式阿齐Archie 1万+

大型项目必备搜索神器,搜索引擎ElasticSearch详细教程

项目必备组件,站内搜索神器ElasticSearch详细教程,包含Elasticsearch的概念,环境搭建,ik分词器安装,ES存储形式,正向索引和倒排索引,以及ES索引库的基本操作、ES文档操作,以及Springboot集成ES。

小谷同学的博客 5024

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ES搜索引擎入门+最佳实践(一)

本篇文章计划给大家介绍什么ES,ES的架构,以及ES搜索入门.我尽量用简单不拖沓的语言给大家介绍,水平有限,时间也有限,各位读者如发现文中有不当之处,请留言指正.ES的全称是Elasticsearch,翻译过来就是弹性搜索,知道就可以,不用纠结这个词的含义,我觉得这个词并不能表述ES的含义.ES并不是传统意义上的数据库,所以不需要用传到的数据库例如Oracle,mysql等数据库与ES进行类比.ES是建立在Lucene(全文搜索)基础上的分布式准实时搜索引擎.

柳老师的博客 3391

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Linux安装elasticsearch搜索引擎并配置

`-v es-plugins:/usr/share/elasticsearch/plugins`:挂载逻辑卷,绑定es的插件目录。- `-v es-data:/usr/share/elasticsearch/data`:挂载逻辑卷,绑定es的数据目录。- `-v es-logs:/usr/share/elasticsearch/logs`:挂载逻辑卷,绑定es的日志目录。- `--network es-net` :加入一个名为es-net的网络中,与elasticsearch在同一个网络中。

m0_74939895的博客 1833

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

分布式搜索引擎 elasticsearch

分布式搜索引擎 elasticsearch 第一部分 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在GitHub搜索代码 在电商网站搜索商品 在百度搜索答案 在打车软件搜索附近的车 1.1.2.ELK技术栈 elasticsearch结合kibana、Logstash、Beats,也就是elasti

KYGALYX的博客 3865

ElasticSearch全文搜索引擎

Lucene是apache下的一个开源的全文检索引擎工具包(一堆jar包)。它为软件开发人员提供一个简单易用的工具包(类库),以方便的在小型目标系统中实现全文检索的功能。Lucene适用于中小型项目 ,ES适用于中大型项目(它底层是基于lucene实现的)虽然全文搜索领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。

2201_75971147的博客 3233

ES 分布式搜索引擎【一】

分布式搜索引擎,elasticsearch、kibana、IK分词器的安装与使用。

m0_52861684的博客 1713

ES(elasticsearch)搜索引擎 结合java 使用

ES(elasticsearch)搜索引擎 结合java 使用 官方文档地址: https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.x/java-rest-high.html 重点概念: 文件索引块是因为使用了倒排索引 倒排索引: 例如 文件a 中有 单词 java php ,文件b中有 java php python ,文件c 中有java , python 那么 单词对应的文件为: java :a ,b,c

qq_42011565的博客 4827
上一篇: HashMap实现原理解读
下一篇: 集群环境中使用Redis实现分布式锁两种方式
冯立彬
冯立彬 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄21年 5458粉丝 593原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值