diff --git a/notes/Elasticsearch_7.x_基本操作.md b/notes/Elasticsearch_7.x_基本操作.md index e16c7c6..1ebe484 100644 --- a/notes/Elasticsearch_7.x_基本操作.md +++ b/notes/Elasticsearch_7.x_基本操作.md @@ -314,14 +314,14 @@ POST _bulk 上面是一个批量更新的示例,其简化后抽象语法格式如下,需要注意的是这里语法是非常严格的:一个更新操作必须由两行 Json 组成,第一行 Json 用于说明操作、标识文档位置和其他可选配置,第二行 Json 用于存放数据或者指明更新方式: -```json +```txt POST _bulk -{"操作",{“文档位置”,"可选操作"}} -{数据} -{"操作",{“文档位置”,"可选操作"}} -{数据} -{"操作",{“文档位置”,"可选操作"}} -{数据} +{"操作" : {"文档位置","可选操作"}} +{"数据"} +{"操作" : {"文档位置","可选操作"}} +{"数据"} +{"操作" : {"文档位置","可选操作"}} +{"数据"} .... ``` @@ -339,4 +339,4 @@ POST _bulk } ``` -之所以这样设计是因为如果允许多行模式,则其解析会比较麻烦且耗费性能,假设我们一次性批量执行上万个更新,则用于描述其操作的 Json 文件就会非常大,此时程序需要将其拷贝到内存中先进行解析,这个操作既浪费了内存又浪费了计算资源。而采用单行模式就能避免这个问题,程序只需要逐行读取记录,每读取两行则必然就是一个完整的操作,此时只需要将其发送到对应分片节点上执行即可。 \ No newline at end of file +之所以这样设计是因为如果允许多行模式,则其解析会比较麻烦且耗费性能,假设我们一次性批量执行上万个更新,则用于描述其操作的 Json 文件就会非常大,此时程序需要将其拷贝到内存中先进行解析,这个操作既浪费了内存又浪费了计算资源。而采用单行模式就能避免这个问题,程序只需要逐行读取记录,每读取两行则必然就是一个完整的操作,此时只需要将其发送到对应分片节点上执行即可。