Elasticsearch提供了近乎实时操作和检索数据的能力。默认情况下,在你新增/更新/删除数据之后,大概只有一秒的延迟即可反应在最新的搜索结果中。和其他的平台例如SQL的及时生效比较起来还是有比较大的区别的。

(新建)索引/替换文档
我们之前已经知道了如何索引一个文档,咱们再来复习一下:

PUT /customer/external/1?pretty
{
"name": "John Doe"
}

上面的命令会在customer索引中创建external类型的ID为1的customer文档。如果我们再一次执行上面的命令,Elasticsearch将会替换(重建索引)ID为1的customer文档。

PUT /customer/external/1?pretty
{
"name": "Jane Doe"
}

上面的命令将ID为1的客户名称从John Doe修改为Jane Doe。另外,如果我们使用一个不同的ID,则会创新一个新的文档索引。原ID=1的文档也不会被修改。

PUT /customer/external/2?pretty
{
"name": "Jane Doe"
}

上面的命令将会创建一个新的ID为2的文档。

创建索引的时候,ID是可选的。如果不指定ID,Elasticsearch会生成一个随机ID并使用该ID来索引文档。那个实际的Elasticsearch生成的ID会随调用API的结果一起返回。
下面的例子示意了如何不指定ID而创建一个文档:

POST /customer/external?pretty
{
"name": "Jane Doe"
}

注意上面的例子,我们使用POST方式而非PUT,因为我们没有指定ID。


本文系本人根据官方文档的翻译,能力有限、水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸。
原文出处:https://www.elastic.co/guide/en/elasticsearch/reference/current/_modifying_your_data.html

 

 posted on 2017-04-27 11:46  段子手6哥  阅读(217)  评论(0编辑  收藏  举报