elaticsearch文档存储

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

文档存储涉及概念

元数据概念.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保证所有修改都被正确排序。当一个旧版本出现在新版本之后,它会被简单的忽略。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,695评论 25 708
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,974评论 6 342
  • 《1》 终于做出来了,很棒! 部分的文字懒得打了 《2》我的代码 《3》总结 -理解HTML是结构,CSS是样式...
    MrCaesar怎么了阅读 191评论 0 0
  • 飘入的是句句歌词,歌词的背后,是旋律。提琴悠扬,鼓滴点点,古筝轻合,箫声绵长。游走在歌词与旋律之间穿梭着的,是歌者...
    随心所喻阅读 809评论 0 50