栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

elasticsearch文档

elasticsearch文档

文档概念 什么是文档

ES中存储数据的单位叫做document。每个单一的整体数据都是一个文档对象,类似数据库中表格行数据(rows)。例如:一个文档可以包含一个人的数据,表示一个商品,表示一个网页结构。

文档组成结构

文档对象在ES中,都是以json字符串形式存在的,所以一个文档可以根据数据,业务逻辑,由多个key值形成。
{“name”:“逻辑”,“age”:18},这个文档中name,age就是他的Field字段。一个文档是由多个字段组成的。字段类似数据库的列数据。

文档的REST_API 新增文档
curl -XPUT http://localhost:9200/indexname/type/docld?pretty -d '{文档json}'
  • 类型TYPE
    在es中,为了方便管理大量文档数据,形成一个类型type概念,可以通过类型,辨别文档的所属关系,类似于数据库中table

但是在8版本中,type类型的概念将会彻底消失,因为类型的存在并没有极大的方便ES的使用,反而造成查询搜索时由于计算类型导致的延迟,速度慢。从6开始逐渐将类型的使用弱化了,到了7,可以不使用。如果继续使用格式,建议的类型包括_doc_create…
例子
在已有的索引中,新增了一个文档数据,{“name”:“王翠花”,“age”:18}

 curl -XPUT http://localhost:9200/index001/_doc/1?pretty -d'{"name":"王翠花","age":18}' -H 'Content-Type:application/json'

  • 分片计算规则
    当新增一个文档数据时,ES会根据文档的id值叫做hash取余计算,对分片个数N做取余得到结果[0-N-1],从而绑定到分片中,由于分片在创建的索引中不可以修改数量的,所以hash取余适用。

  • 删除文档

  • 作为写操作,删除文档,文档元字段version也会自增1
获取文档
  • 获取单个文档
curl -XGET http://localhost:9200/book/IT/1?pretty

  • 获取多个文档
    要传递三个值index,type,docld,要是用请求体json携带查询多个文档的数据参数
curl -XGET http://192.168.184.131:9200/_mget?pretty -H'Content-Type:application/json' -d '{"docs":[{"_index":"index001","_type":"_doc","_id":"1"},{"_index":"index002","_type":"_doc","_id":"2"}]}'
为实现搜索功能,准备一批数据

批量导入数据bulk

 curl -XPUT "localhost:9200/_bulk?pretty" -H 'Content-Type: application/json' -d'
> { "index" : { "_index" : "book", "_type" : "_doc", "_id" : "1" } }
> { "title" : "java编程思想","price":68.8,"author":"王翠花","publish_date":"2012-09-18" }
> { "index" : { "_index" : "book", "_type" : "_doc", "_id" : "2" } }
> { "title" : "java核心技术","price":112.3,"author":"刘富贵","publish_date":"2020-09-18" }
> { "index" : { "_index" : "book", "_type" : "_doc", "_id" : "3" } }
> { "title" : "Hadoop权威指南","price":89.8,"author":"Dogg Cutting","publish_date":"2019-09-18" }
> '
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号