ElasticSearch那些事儿(三)

MySQL数据以全量和增量方式,同步到ES搜索引擎 知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,宠爱自己,做一个独一无二的自己! 对于文章中出现的任何错误请大家批评指出,会及时做出修改! 有任何想要讨论和学习的问题可联系我:cittaksana@qq.com MySQL数据以全量和增量方式,同步到ES搜索引擎一、配置详解1、下载内容2、核心配置3、启动进程二、ES客户端工具 一、配置详解 场景描述:MySQL数据表以全量和增量的方式向E. 阅读详情

集群健康

让我们从一个基本的健康检查开始,我们可以使用它来查看集群的运行情况。我们将使用curl来完成此任务,但是您可以使用任何允许进行HTTP/REST调用的工具。假设我们仍然在启动Elasticsearch并打开另一个命令shell窗口的同一节点上。

curl -X GET "localhost:9200/_cat/health?v"

响应格式:

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1475247709 17:01:49  elasticsearch green           1         1      0   0    0    0        0             0                  -                100.0%

每当我们请求集群健康时,我们要么得到green,yellow, red。

  • Green - 一切都很好(集群功能齐全)
  • Yellow - 所有的数据都是可用的,但是有些副本还没有分配(集群功能齐全)
  • Red - 由于某种原因,有些数据不可用(集群具有部分功能)

注意:当集群是红色时,它将继续为可用碎片的搜索请求提供服务,但是您可能需要尽快修复它,因为存在未分配的碎片。

同样,从上面的响应中,我们可以看到总共有1个节点,并且我们有0个碎片,因为我们还没有数据。注意,因为我们使用的是默认集群名称(elasticsearch)和由于elasticsearch使用单播网络发现默认情况下找到其他节点在同一台机器上,这是可能的,你可以不小心启动多个节点在你的电脑上,让他们加入一个集群。在这个场景中,您可能会在上面的响应中看到不止一个节点。

我们还可以得到集群中的节点列表,如下所示:

curl -X GET "localhost:9200/_cat/nodes?v"

响应格式:

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           10           5   5    4.46                        mdi      *      PB2SGZY

在这里,我们可以看到一个名为“PB2SGZY”的节点,它是当前集群中的单个节点。

现在我们来看看索引:

curl -X GET "localhost:9200/_cat/indices?v"

响应格式:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

这意味目前我们还没有任何一个索引数据。

创建索引

现在我们创建一个名为customer的索引,然后再列出所有的索引。

curl -X PUT "localhost:9200/customer?pretty"
curl -X GET "localhost:9200/_cat/indices?v"

第一条命令是用PUT方法创建一个名为customer的索引。我们只是在调用末尾添加了pretty,让它漂亮地打印JSON响应(如果有数据的话)。

响应格式:

health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   customer 95SQ4TSUT7mWBT7VNHH67A   5   1          0            0       260b           260b

第二个命令的结果告诉我们,我们现在有一个名为customer的索引,它有5个主碎片和1个副本(默认值),其中包含0个文档。

您可能还会注意到,客户索引有一个黄色的健康标记。回想一下我们之前的讨论,黄色表示一些副本尚未分配。之所以会出现这种情况,是因为Elasticsearch默认为索引创建了一个副本。因为我们现在只有一个节点在运行,所以在另一个节点加入集群之后,才能分配一个副本(为了高可用性)。一旦将副本分配到第二个节点上,该索引的健康状态将变为绿色。

索引并且查询一个文档

现在让我们放一些东西到我们的customer索引。我们将把一个简单的客户文档索引到客户索引中,ID为1,如下所示:

curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d '{"name": "John Doe"}'

响应格式:

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

从上面,我们可以看到一个新的客户文档成功地在customer索引中创建。文档还有一个内部id 1,我们在索引时指定了它。

需要注意的是,Elasticsearch并不要求您首先显式地创建索引,然后才能将文档编入索引。在前面的示例中,如果事先不存在customer索引,Elasticsearch将自动创建customer索引。

现在让我们检索刚才索引的文档:

curl -X GET "localhost:9200/customer/_doc/1?pretty"

响应格式:

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source" : {
    "name" : "John Doe"
  }
}

这里没有什么特别的,除了一个字段,found,声明我们找到了一个包含请求ID 1和另一个字段_source的文档,该字段返回我们从上一步中索引的完整JSON文档。

删除一个索引

现在让我们删除我们刚刚创建的索引,然后再一次列出所有的索引:

curl -X DELETE "localhost:9200/customer?pretty"
curl -X GET "localhost:9200/_cat/indices?v"

响应格式:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

这意味着索引被成功删除了,现在,我们回到了我们刚启动集群,里面一无所有的地方。

在我们继续之前,让我们再仔细看看我们到目前为止学习的一些API命令:

# 创建索引
curl -X PUT "localhost:9200/customer"
# 往索引里增加一条文档
curl -X PUT "localhost:9200/customer/_doc/1" -H 'Content-Type: application/json' -d' {"name": "John Doe"}'
# 查询索引里的文档
curl -X GET "localhost:9200/customer/_doc/1"
# 删除索引
curl -X DELETE "localhost:9200/customer"

如果我们仔细研究上面的命令,我们实际上可以看到如何在Elasticsearch中访问数据的模式。这种模式可以概括如下:

<HTTP Verb> /<Index>/<Type>/<ID>

这个REST访问模式在所有API命令中都非常普遍,如果您能够简单地记住它,那么您将在掌握Elasticsearch方面有一个很好的开端。

修改你的数据

Elasticsearch提供几乎实时的数据操作和搜索能力。默认情况下,从索引/更新/删除数据到出现在搜索结果中,您可能会得到一秒钟的延迟(刷新间隔)。这是与其他平台(如SQL)的一个重要区别,SQL在事务完成后,数据立即可用。

索引/替换文档

我们之前已经学习了如何索引一个单一文档,现在让我们复习一下这个命令:

curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d '{"name": "John Doe"}'

同样,上面的代码将把指定的文档索引为customer索引,ID为1。如果我们用一个不同(或者相同)的文档再次执行上面的命令, Elasticsearch将在现有文档的基础上替换(即重新索引)一个新文档,ID为1:

curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
  "name": "Jane Doe"
}
'

以上将ID为1的文档名称从“John Doe”更改为“Jane Doe”。换句话说,如果我们使用一个不同的ID,一个新的文档将被索引并且在索引里已经存在的文档未被提及。

curl -X PUT "localhost:9200/customer/_doc/2?pretty" -H 'Content-Type: application/json' -d'
{
  "name": "Jane Doe"
}
'

以上将索引一个ID为2的新文档。

索引时,文档ID是可选的,如果没有指定,Elasticsearch将生成一个随机ID并且使用它来索引这个文档。实际的ID Elasticsearch生成的值(或者我们在前面的示例中显式指定的值)作为索引API调用的一部分返回。
这个示例展示了如何在没有显式ID的情况下对文档进行索引:

curl -X POST "localhost:9200/customer/_doc?pretty" -H 'Content-Type: application/json' -d'
{
  "name": "Jane Doe"
}
'

注意,在上面的例子中,我们使用POST谓词而不是PUT,因为我们没有指定ID。

更新文档

除了能够索引和替换文档外,我们还可以更新文档。不过请注意,Elasticsearch实际上并不会在引擎盖下进行就地更新。无论何时我们做一个更新操作,Elasticsearch将删除旧的文档然后更新后的结果对新文档进行索引。
这个例子展示了如何通过将name字段更改为“Jane Doe”来更新我们以前的文档(ID为1):

curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'
{
  "doc": { "name": "Jane Doe" }
}
'

这个例子展示了如何通过将name字段更改为“Jane Doe”同时增加一个age字段来更新我们以前的文档(ID为1):

curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'
{
  "doc": { "name": "Jane Doe", "age": 20 }
}
'

还可以使用简单的脚本执行更新。这个例子使用一个脚本将年龄增加5:

curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'
{
  "script" : "ctx._source.age += 5"
}
'

在上面的例子中,是ctx._source是指将要更新的当前源文档。
Elasticsearch提供了在给定查询条件(如SQL update - where语句)下更新多个文档的功能。具体请看docs-update-by-query API

删除文档

删除文档相当简单。这个例子展示了如何删除我们以前的一个ID为2的客户文档:

curl -X DELETE "localhost:9200/customer/_doc/2?pretty"

查看_delete_by_query API以删除与特定查询条件相匹配的所有文档。值得注意的是,删除整个索引要比使用Query API删除所有文档高效得多。

批量处理

除了能够索引、更新和删除单个文档之外,Elasticsearch还可以使用_bulk API批量执行上述任何操作。这个功能非常重要,因为它提供了一种非常有效的机制,可以在尽可能少的网络往返的情况下尽可能快地执行多个操作。

作为一个快速示例,以下调用在一个批量操作中索引两个文档(ID 1 - John Doe和ID 2 - Jane Doe):

curl -X POST "localhost:9200/customer/_doc/_bulk?pretty" -H 'Content-Type: application/json' -d'
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }
'

这个示例更新第一个文档(ID为1),然后在一个批量操作中删除第二个文档(ID为2):

curl -X POST "localhost:9200/customer/_doc/_bulk?pretty" -H 'Content-Type: application/json' -d'
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}
'

注意,对于删除操作,在删除之后没有相应的源文档,因为删除只需要删除文档的ID。
批量API不会因为其中一个操作失败而失败。如果一个操作由于任何原因失败,它将继续处理它之后的其余操作。当bulk API返回时,它将为每个操作提供状态(按照发送的顺序),以便您可以检查某个特定操作是否失败。

从Elasticsearch到Milvus:深入聊聊BM25在主流搜索引擎与向量数据库里的那些事儿 本文深入解析BM25算法在Elasticsearch和Milvus中的实现差异与优化策略,探讨传统搜索引擎与向量数据库的混合搜索架构设计。通过参数调优和实战案例,展示BM25在电商搜索和金融风控等场景中的性能提升效果,为技术选型提供实用指南。 阅读详情

相关推荐

Elasticsearch分布式搜索引擎的那些事儿

作者:禅与计算机程序设计艺术 1.背景介绍 Elasticsearch是一个基于Lucene的开源搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,它的目的是为了解决目前已知的所有信息检索问题,尤其是实时数据处理、日志分析等应用领域。本文将以Elasticsearch为主要分析对象,来谈谈El

AI天才研究院 879

Elasticsearch集群健康值检查及参数详解

Elasticsearch集群健康值检查及参数详解

我就吃一口的BLOG 1273

ES7~ES13那些事儿

ES7~ES12都可以统称为ES6+,ES6等价于ES2015,ES6是一个非常大的版本更迭,但是后面ES7、ES8等等增加的知识并不是很多,但是肯定也是有用的,存在即合理。所以这篇就总结一下ES6之后增加的一些常用的主要的知识

专注于技术,分享实战经验,探索技术边界,用代码构建更美的数字世界。 1494

Elasticsearch(五):对集群的检测,和基本管理

简单的集群管理 (1)快速检查集群的健康状况 es提供了一套api,叫做cat api,可以查看es中各种各样的数据 GET /_cat/health?v epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_...

zuo_h_dr的博客 461

快速理解STLink引脚图中复位引脚作用

深入讲解STLink引脚图中复位引脚的实际用途,帮助开发者快速掌握其在调试与下载过程中的关键作用,结合stlink引脚图理解更高效。

weixin_32324637的博客 1326

科普:Frenet坐标

理想情况下,描述这种常见驾驶行为在数学上应该很容易。一种方法是使用新的坐标系。现在,而不是放下一个正常的笛卡尔网格,我们做一些事情,就像你看到下面…Frenet Coordinates是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式。如果我们想要方程式来描述这个动作,那就不容易了!想象一下像下面这样一条弯曲的道路,笛卡尔坐标系就位于它的上面…使用这些笛卡尔坐标,我们可以尝试描述车辆通常在路上行驶的路径…那么在Frenet坐标系下呈现的典型轨迹是什么样的?在这里,我们定义了一个新的坐标系统。

OceanStar的博客 1万+

Elasticsearch(008):es中cluster(集群)的查看、状态、操作

集群(Cluster) 本篇文章主要学习Elastic-Search集群的相关操作。 1. 检查集群健康状态 GET /_cat/health?v 返回结果 epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wai...

瘦子没有夏天 6112

Word多级标题出现黑块的解决思路(word 数字必须介于1-1638之间)

遇到多级目录出现黑块问题,看到一篇博客完美解决,在此记录。

AI_Optimization的博客 3717

ElasticSearch---查询es集群状态、分片、索引

后面加上pretty,能让返回的json格式化。

ss810540895的博客 4485

GD32F4系列定时器正交译码器实战:用TIMER1读取旋转编码器信号(附完整代码)

本文详细介绍了GD32F4系列定时器正交译码器的实战应用,重点讲解如何使用TIMER1模块高效读取旋转编码器信号。内容涵盖硬件连接、定时器配置、方向判断与速度计算等关键环节,并提供了完整的代码实现和优化建议,帮助开发者快速掌握GD32微控制器在工业控制和消费电子领域的编码器接口设计。

weixin_29169505的博客 202

计算机组成与系统结构(第三版) 袁春风主编 课后习题答案讲解 第一、二章 计算机系统概述 数据的机器级表示

计算机组成与系统结构(第三版) 袁春风主编 课后习题答案讲解 第一、二章 计算机系统概述 数据的机器级表示

qq_73523062的博客 2102

【ES】探索集群 <二>

1. 集群的健康     ★ 使用 _cat API 查看集群状态,如下的命令 curl "http://localhost:9200/_cat/health?v" // v 会显示出各个字段值代表的含义 返回的信息 大致如下 : epoch timestamp cluster status node.total node.data shards p

lihuapiao的专栏 627

java实现mavlink协议解析与封包上传数据,实现mavlink数据交互,附带代码、详解

本篇文章介绍了使用java来进行mavlink协议解析,封包与解包的过程,并附带源码供大家使用。MAVLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)是无人飞行器与地面站(Ground Control Station ,GCS)或云端服务器之间通讯,以及无人飞行器之间通讯最常用的协议。它已经在PX4、APM、PIXHAWK和Parrot AR.Drone飞控平台上进行了大量测试。

qq_30279827的博客 1450

ES5和ES6那些你必须知道的事儿(三)

ES5和ES6那些你必须知道的事儿 ES6新增的东西 一、块级作用域:关键字let,常量const   let与var的区别:     a、不会进行变量声明提升     b、变量不允许被重复定义     c、变量不允许被删除     d、在for循环中可以保留i的值     e、循环的变量只能在当前块级作用域中使用   const和var的区别:     a、常...

denggen20020210的博客 286

机器学习---xgboost算法

问题上表现的十分顶尖,本节将较详细的介绍XGBoost的算法原理。成和剪枝分别对应了经验风险最小化和结构风险最小化, XGBoost的决策树生成是结构风险最小。式(1.1)称为经验风险最小化,训练得到的模型复杂度较高。出结果, 是模型的输出结果;等式右边第⼀部分是模型的训练误差,第⼆部分是正则化项,这里。其中,F是假设空间,假设空间是在已知属性和属性可能取值的情况下,对所有可能满足目标的情。最小化,结构风险最小化的模型往往对训练数据以及未知的测试数据都有较好的预测。的正则化项是K棵树的正则化项相加而来的。

weixin_43961909的博客 1万+

ComfyUI报错ModuleNotFoundError: No module named ‘comfy.options‘

好家伙,我一想我刚刚好像用了pip安装了comfy模块,不会是和ComfyUI自带的comfy模块产生冲突了吧。(3)还有的说是项目不是最新版,叫更新到最新版本的,好家伙,我报错之前根本没更新也没错,突然就报错的。(4)还有的说没有comfy.options这部分代码,叫自己去拉一个,我一看也有啊。我也不知道啥时候脑抽风去装这么个东西的,幸好我聪明机智,一眼就知道了。看把我气的,然后网上搜集各种资料,一个一个去试。

满目星辰 5160

[转]基于Elasticsearch分布式搜索引擎的架构原理

[转]基于Elasticsearch分布式搜索引擎的架构原理 http://www.mobabel.net/%E8%BD%AC%E5%9F%BA%E4%BA%8Eelasticsearch%E5%88%86%E5%B8%83%E5%BC%8F%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E7%9A%84%E6%9E%B6%E6%9E%84%E5%8E%9F%E7%90...

yb223731的博客 1014

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Elasticsearch内存那些事儿

Elasticsearch内存分配设置详解。 前言 「该给 ES 分配多少内存?」 「为什么是给 ES 分配服务器的一半内存?」 「为什么内存使用率不断升高,没有释放?」 「为何经常有某个 field 的数据量超出内存限制的异常?」 「为何感觉上没多少数据,也会经常 Out Of Memory?」 相信每个ES使用者或者运维人员都遇到过这些问题,也踩过不少坑。 这里根据我个人的学习和日...

东境物语 2735

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ElasticSearch四:ES分布式怎么进行部署

es生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片? 这个问题,包括后面的redis什么的,谈到es、redis、mysql分库分表等等技术,面试必问!就是你生产环境咋部署的?说白了,这个问题没啥技术含量,就是看你有没有在真正的生产环境里干过这事儿! 有些同学可能是没在生产环境中干过的,没实际去拿线上机器部署过es集群,也没实际玩儿过,也没往es集群里面导...

qq_41864967的博客 1622

打比赛?《CTF那些事儿》你不能错过。

现如今,网络安全赛道不可谓不红火随着知识的指数式增长及政策扶持,安全行业也迎来了春天但随着这一领域的准入门槛逐渐降低,竞争愈发激烈我们更加呼吁专业化的就职人员与技能素质优秀的大学生而作为快速提升网安技能的重要途径、各个行业选拔网安人才的通用方法CTF比赛无疑提供了最优的解决办法。于是,《CTF那些事儿》应运而生,读懂它、读会它、读好它,零基础学安全,月薪10k不是梦!【文末免费送书!!!

等风来 8156

Elasticsearch(ES)分词器的那些事儿

1. 概述 分词器是Elasticsearch中很重要的一个组件,用来将一段文本分析成一个一个的词,Elasticsearch再根据这些词去做倒排索引。 今天我们就来聊聊分词器的相关知识。 2. 内置分词器 2.1 概述 Elasticsearch 中内置了一些分词器,这些分词器只能对英文进行分词处理,无法将中文的词识别出来。 2.2 内置分词器介绍 standard:标准分词器,是Elasticsearch中默认的分词器,可以拆分英文单词,大写字母统一转换成小写。 simple:按

追风人的博客 1219

ElasticSearch一:分布式搜索引擎的架构

es的分布式架构原理?es是如何实现分布式的啊)? 在搜索这块,lucene是最流行的搜索库。几年前业内一般都问,你了解lucene吗?你知道倒排索引的原理吗?现在早已经out了,因为现在很多项目都是直接用基于lucene的分布式搜索引擎——elasticsearch,简称为es。 而现在分布式搜索基本已经成为大部分互联网行业的java系统的标配,其中尤为流行的就是es,前几年es没火的...

qq_41864967的博客 587

拆解 “ES 已死“ 伪命题:Agentic RAG 时代搜索引擎的终极形态

综上所述,无论是传统 RAG 场景,还是代表未来趋势的 Agentic RAG 场景,Elasticsearch 凭借其丰富的功能、强大的处理能力以及完整的闭环体系,都将是技术选型时不容忽视的择优选项。那些宣扬 “ES已死” 的言论,纯粹就是瞎扯。其实开源社区真没必要天天想着怎么攻击别人,也别总想着用一些歪门邪道去误导用户。真想让这个行业进步,应该是一起把蛋糕做大,让更多的使用场景从传统的文本检索上进行迁移。

Elastic 中国社区官方博客 1992

【ElasticSearch系列连载】7. 关于ES数据读写那点事儿

如果数据本身有自己的唯一标记,那么在建立索引时可以使用id来指定文档的id。如下,使用curl在your_index索引下写入一个id=1001的文档。{"field": "内容"}'返回如下{}可以看到除了index, type和id字段,还有一个version字段。在ES中每个文档都有一个自己的version编号,每当文档发生变化时,version就会增长。...

josiah_zhao的博客 1002
上一篇: ElasticSearch那些事儿(二)
下一篇: ElasticSearch那些事儿(四)
Computer_hello
博客等级 码龄10年 2粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值