elaticsearch文档存储

现在面向对象编程非常流行,对象作为一个整体存储在NoSQL数据库中,经常以JSON的格式。一个JSON通常也成为文档(document),elasticsearch就是文档(JSON)的形式存储数据的。

文档存储涉及概念

elaticsearch文档存储_第1张图片
元数据概念.png

索引

PUT /{index}/{type}/{id}
{
    "field": "value",
     ...
}

获取

GET /{index}/{type}/{id}?pretty

检查文档存在

curl -i -XHEAD http://localhost:9200/{index}/{type}/{id}

更新

文档在Elasticsearch中是不可变的——我们不能修改他们。

更新整个文档

在内部,Elasticsearch标记旧文档为删除并添加一个完整的新文档,_version加1。

PUT /{index}/{type}/{id}

局部更新

局部更新的步骤为:
1 从旧文档中检索JSON
2 修改它
3 删除旧文档
4 索引新文档
更新语句:

POST /website/blog/1/_update
{ 
        "doc" : { 
                "tags" : [ "testing" ], 
                "views": 0 
        }
}

更新冲突解决

Elasticsearch是分布式的。当文档被创建、更新或删除,文档的新版本会被复制到集群的其它节点。index、get、delete请求时,每个文档都有一个_version号码,这个号码在文档被改变时加一。Elasticsearch使用这个_version保证所有修改都被正确排序。当一个旧版本出现在新版本之后,它会被简单的忽略。

你可能感兴趣的:(elaticsearch文档存储)