修改你的数据

Elasticsearch提供近乎实时的数据操控和查询能力. 默认情况下, 你可以期望从你索引/更新/删除你的数据到他们出现在你的查询中只有1秒的延迟(刷新间隔). 这是一个和其他类似于SQL之类的平台的巨大区别. 他们的数据在事务完成后会立刻生效.

索引/替换文档

之前我们已经看到如何索引一个文档, 现在我们再次执行那条命令

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

同样, 上面的代码会索引一个ID为1的指定文档到customer索引里. 如果我们用一个不同的(或是相同的)文档再次执行以上命令. Elasticsearch会在ID为1的文档上面替换(重新索引)为新的文档.

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

上面的命令会把ID为1的文档的name从"John Doe"改为"Jane Doe". 另一方面, 如果我们用了一个不同的ID, 一个新的文档会被索引, 而且以前的文档不会有任何改变.

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

上面的代码索引了一个ID为2个新文档.

索引文档的时候, ID是可选的. 如果没有指定的话, Elasticsearch会生成一个随机的ID, 然后这个ID来索引文档. Elasticsearch生成的ID(或是我们前面显示指定的ID), 都会作为索引API的一部分返回给我们.

下面的例子展示了, 不指定ID索引一个文档.

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

注意上面的例子, 因为我们没有指定ID, 所以我们用POST请求代替了PUT请求.

results matching ""

    No results matching ""