修改你的数据

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" 变更到"Jane Doe"。另一方面,如果我们使用了一个不同的ID,一个新的文档将会被索引,那么已经在索引中存在的文档将不受影响。

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

上述命令索引了一个新的ID为2的文档。

当进行索引的时候,ID是可选的,如果没有指定ID,Elasticsearch 将会生成一个随机ID,然后使用这个ID进行索引。Elasticsearch 生成的ID将作为调用索引API的返回。

下面这个示例展示了怎么索引一个没有指定ID的文档:

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

注意上面的情况,我们使用了POST方法,而不是PUT方法。因为我们没有指定一个ID。

results matching ""

    No results matching ""