修改数据

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

索引/替换文档

我们之前已经看到了如何索引单个文档。让我们再次回忆一下这个命令:

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

同样,上面将指定的文档创建到customer索引中,ID为1。如果我们再使用不同(或相同)的文档执行上述命令,Elasticsearch将替换(即重新索引)为新文档:

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,然后使用它来索引文档。 Elasticsearch生成的实际ID(或前面示例中显式指定的内容)将作为Index API的部分响应信息。

此示例显示如何在没有显式ID的情况下索引文档:

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

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

results matching ""

    No results matching ""