Elasticsearch provides data manipulation and search capabilities in near real time. By default, you can expect a one second delay (refresh interval) from the time you index/update/delete your data until the time that it appears in your search results. This is an important distinction from other platforms like SQL wherein data is immediately available after a transaction is completed.

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

Indexing/Replacing Documents

We’ve previously seen how we can index a single document. Let’s recall that command again:

我们之前已经看到了如何索引单个文档。让我们再次回想一下这个命令:
curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"name": "John Doe"
}
'

Again, the above will index the specified document into the customer index, with the ID of 1. If we then executed the above command again with a different (or same) document, Elasticsearch will replace (i.e. reindex) a new document on top of the existing one with the ID of 1:

同样,上面将指定的文档索引到客户索引中,ID为1.如果我们再使用不同(或相同)的文档执行上述命令,Elasticsearch将替换(即重新索引)新文档。 ID为1的现有ID:
curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"name": "Jane Doe"
}
'
The above changes the name of the document with the ID of 1 from "John Doe" to "Jane Doe". If, on the other hand, we use a different ID, a new document will be indexed and the existing document(s) already in the index remains untouched.
以上内容将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"
}
'

The above indexes a new document with an ID of 2.

以上索引ID为2的新文档。
 
 When indexing, the ID part is optional. If not specified, Elasticsearch will generate a random ID and then use it to index the document. The actual ID Elasticsearch generates (or whatever we specified explicitly in the previous examples) is returned as part of the index API call.
索引时,ID部分是可选的。如果未指定,Elasticsearch将生成随机ID,然后使用它来索引文档。 Elasticsearch生成的实际ID(或前面示例中显式指定的内容)将作为索引API调用的一部分返回。
 
This example shows how to index a document without an explicit ID:
curl -X POST "localhost:9200/customer/_doc?pretty" -H 'Content-Type: application/json' -d'
{
"name": "Jane Doe"
}
'

Note that in the above case, we are using the POST verb instead of PUT since we didn’t specify an ID.

请注意,在上述情况下,我们使用POST动词而不是PUT,因为我们没有指定ID。

(十)Modifying Your Data的更多相关文章

  1. Bootstrap入门(二十四)data属性

    Bootstrap入门(二十四)data属性 你可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码.这是 Bootstrap 中的一 ...

  2. AngularJS进阶(十五)Cookie 'data' possibly not set or overflowed because it was too large

    Cookie 'data' possibly not set or overflowed because it was too large (5287 > 4096 bytes)! 注:请点击此 ...

  3. Elasticsearch 入门 - Modifying Your Data

    index/update/delete 均有大概1秒的缓存时间 Indexing/Replacing Documents curl -X PUT "localhost:9200/custom ...

  4. Elasticsearch-->Get Started-->Modifying Your Data

    https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-modify-data.html Mod ...

  5. swift语言点评十-Value and Reference Types

    结论:value是拷贝,Reference是引用 Value and Reference Types Types in Swift fall into one of two categories: f ...

  6. (一) Getting Started

    Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you ...

  7. R2—《R in Nutshell》 读书笔记(连载)

    R in Nutshell 前言 例子(nutshell包) 本书中的例子包括在nutshell的R包中,使用数据,需加载nutshell包 install.packages("nutshe ...

  8. Event Sourcing Pattern 事件源模式

    Use an append-only store to record the full series of events that describe actions taken on data in ...

  9. Vector Tile

    Mapbox Vector Tile Specification A specification for encoding tiled vector data. <?XML:NAMESPACE ...

随机推荐

  1. C#3.0智能的编译器

    智能的编译器 在C#3.0中,编译器变的越来越智能,我们不用提供给它完整的信息,仅需要提供必要的信息,编译器就可以进行推断为我们补全未提供的信息 自动实现的属性 在之前我们生成一个类时需要有一个字段, ...

  2. mysql锁机制详解

    前言 大概几个月之前项目中用到事务,需要保证数据的强一致性,期间也用到了mysql的锁,但当时对mysql的锁机制只是管中窥豹,所以本文打算总结一下mysql的锁机制. 本文主要论述关于mysql锁机 ...

  3. Linux驱动模块编译模板

    hello.c文件: #include <linux/module.h> #include <linux/kernel.h> static int hello_init(voi ...

  4. Java复制、移动和删除文件

    复制文件: Files.copy(fromPath,toPath); 例如: Files.copy(Paths.get("E:\\A.txt"), Paths.get(" ...

  5. #6 ipdb模块源代码解读

    前言 好久不见,大家最近可好

  6. Mybatis环境配置学习

    Mybatis的使用环境配置步骤主要分为以下三步 1.导入jar包 2.创建mybatis的全局配置文件,并编写 3.创建mapper的配置文件 一.导入jar包 --- (踩坑:这一步中的导入mys ...

  7. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——GifView控件的使用方式

    一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个GifView控件到窗体界面上 修改GifView的属性 Aut ...

  8. asp.net MVC NPOI导出excel通用

    一.创建一个类文件添加 public class ExportToExcelColumn { public ExportToExcelColumn(string _Columnnames, strin ...

  9. 教我徒弟Android开发入门(四)

    本期知识点: 两大常用布局的简单介绍 在我们的APP使用第三方库 Android Studio常用快捷键 一.两大常用布局 1.LinearLayout线性布局 线性布局,可以垂直显示或者水平显示,设 ...

  10. vue.js引入

    开始学习vue.js,引入vue.vue.js一定要在head里面引入,实际开发中我们可能在body中引入,但是可能存在抖屏现象. 为了避免出现抖屏现象,我们引入vue.js或者jquery.js 最 ...