修改你的数据

Elasticsearch提供数据处理和近实时搜索功能。默认情况下,你可以期望有一秒钟的延迟(刷新间隔),从索引/更新/删除数据,直到它出现在搜索结果中。这是与其他平台例如SQL其中一个事务完成后数据是立即可用的一个重要区别。

索引/替换文档

还记得我们是如何索引单个文档的么。让我们再回顾一下命令:


curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
  "name": "John Doe"
}'

同样,上述索引将指定文档到customer索引,external类型,ID为1。如果我们然后再以不同(或相同)文件执行上面的命令,Elasticsearch将在ID为1的上面创建新的文件取代(如重建索引)现有的文件:


curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
  "name": "Jane Doe"
}'

上述变化ID为1的“John Doe”变成了“John Doe”(其实没变)。该文件的名称。如果,我们使用不同的ID,新的文件将被编入索引,现有文件(多个)已经存在索引将保持不变。


curl -XPUT 'localhost:9200/customer/external/2?pretty' -d '
{
  "name": "Jane Doe"
}'

上面创建了索引ID为2新文档。

创建索引时,ID部分是可选的。如果未指定,Elasticsearch会产生一个随机ID,然后用它来索引的文档。Elasticsearch产生的真实ID (或无论我们在前面的例子中明确指定的ID)都会作为API调用结果的一部分返回。

这个例子说明了如何创建没有明确ID的索引的文件:


curl -XPOST 'localhost:9200/customer/external?pretty' -d '
{
  "name": "Jane Doe"
}'

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

results matching ""

    No results matching ""