当前位置: 首页 > news >正文

淄博企业网站建设哪家好合肥做网站公司哪家好

淄博企业网站建设哪家好,合肥做网站公司哪家好,泰州网站建设 思创,wordpress用户登陆一、前言 上一篇文章中我们学习了ES中的基础操作,包括索引和映射,同时也学习了ES中的基础数据类型,今天我们继续学习其他的数据类型。 二、复杂数据类型 1、数组(Array) 在ES中没有特别指定数据类型,换…

一、前言

上一篇文章中我们学习了ES中的基础操作,包括索引和映射,同时也学习了ES中的基础数据类型,今天我们继续学习其他的数据类型。

二、复杂数据类型

1、数组(Array)

在ES中没有特别指定数据类型,换句话说任何类型的字段都可以组成数组。对于一个数组内所有数据的类型必须一致。例如 array1 [1,2,3,4,5] ,对于对象数组(数组内的元素是对象)有些特别,ES不支持独立的查询数组内的对象,如果想使用则使用 Nested(嵌套类型),这个放到后面学习。

案例:

PUT my-index-000001/_doc/1
{"message": "some arrays in this document...","tags":  [ "elasticsearch", "wow" ], "lists": [ {"name": "prog_list","description": "programming list"},{"name": "cool_list","description": "cool stuff list"}]
}PUT my-index-000001/_doc/2 
{"message": "no arrays in this document...","tags":  "elasticsearch","lists": {"name": "prog_list","description": "programming list"}
}GET my-index-000001/_search
{"query": {"match": {"tags": "elasticsearch" }}
}

这里可以看到文档2并没有数组,但是也可以正常写入,再解释一下上面说的无法单独查询数组内的对象,因为ES会把数组扁平化,所以我搜索“prog_list”,也会把“cool_list”带出来,因为他们在一个数组内,而不是单独的对象。

2、Object

对于JSON对象来说很多时候是分层的,也就是说有内部对象,此时就可以使用Object类型

案例:

PUT my-index-000001/_doc/1
{ "region": "US","manager": { "age":     30,"name": { "first": "John","last":  "Smith"}}
}当然也可以换一种方式创建
PUT my-index-000001
{"mappings": {"properties": { "region": {"type": "keyword"},"manager": { "properties": {"age":  { "type": "integer" },"name": { "properties": {"first": { "type": "text" },"last":  { "type": "text" }}}}}}}
}
3、Nested

嵌套类型是对象数据类型的特殊版本,它允许以可以彼此独立查询的方式对对象数组进行索引。

案例

PUT my-index-000001
{"mappings": {"properties": {"user": {"type": "nested" }}}
}PUT my-index-000001/_doc/1
{"group" : "fans","user" : [{"first" : "John","last" :  "Smith"},{"first" : "Alice","last" :  "White"}]
}GET my-index-000001/_search
{"query": {"nested": {"path": "user","query": {"bool": {"must": [{ "match": { "user.first": "Alice" }},{ "match": { "user.last":  "Smith" }} ]}}}}
}GET my-index-000001/_search
{"query": {"nested": {"path": "user","query": {"bool": {"must": [{ "match": { "user.first": "Alice" }},{ "match": { "user.last":  "White" }} ]}},"inner_hits": { "highlight": {"fields": {"user.first": {}}}}}}
}
与上面数组很像,不同的是Nested支持对数组内的数据单独进行搜索,这里不多赘述。
4、其他

ES中还有很多其他的数据类型,具体的可以参考 Field data types | Elasticsearch Guide [7.17] | Elastic

https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping-types.html

三、文档操作

1、创建文档

语法:PUT /索引名/_doc/ID 或者 POST /索引名/_doc/ID

解释:ID可选,不一定要填写,如果不填写则由。

案例1:创建一个文档,不带ID

POST my-index-000001/_doc/
{"@timestamp": "2099-11-15T13:12:00","message": "GET /search HTTP/1.1 200 1070000","user": {"id": "kimchy"}
}

上面这个案例我们创建了一个文档,同时没有指定ID,由ES为我们自动创建文档ID。

案例2:创建文档并且自定义文档

POST my-index-000001/_doc/1
{"@timestamp": "2099-11-15T13:12:00","message": "GET /search HTTP/1.1 200 1070000","user": {"id": "hardy"}
}
这样我们就创建了一个自定义ID的文档
2、查询文档

查询是ES中最核心的功能,这部分内容后续将单独抽取出来,这里暂时不讲述

3、删除文档

1、根据ID删除

DELETE /索引名/ID

2、根据条件删除

根据条件删除和搜索是很类型的,这部分也放到后续学习搜索时一起讲

4、更新文档

1、根据ID更新

POST /<index>/_update/<_id>
{"doc": {"field1": "new_value1","field2": "new_value2"}
}

2、根据条件更新

根据条件更新和搜索是很类型的,这部分也放到后续学习搜索时一起讲

四、结束语

今天学习了剩下的常见的数据类型,还有简单的文档操作。这些相对来说简单,ES中最复杂的是搜索,搜索会放到后面详细讲解,希望对你有所帮助。

http://www.hrbkazy.com/news/1100.html

相关文章:

  • 公司网站建设管理办法网络推广员是什么
  • wordpress全站背景自己的网站怎么做seo
  • 网站建设销售前景真正免费的网站建站平台运营
  • 奉贤网站建设网站制作免费单页网站在线制作
  • 免费网站建站百度免费发布广告的网站
  • 微信公众号微网站开发类型企业网站设计与实现论文
  • 2023年网页游戏河北seo网络优化培训
  • 做药的常用网站百度普通版下载
  • 练手网站开发交换链接的作用
  • 做网站 参考文献论坛seo设置
  • 长沙制作网站设计多少钱google chrome浏览器
  • 网站使用授权书厦门seo优
  • 军工企业专业网站建设方案广州专门做seo的公司
  • 可做百科资料参考的网站夫唯seo怎么样
  • 导航网站建设网址缩短在线生成器
  • 网站开发技术发展史站长工具网站测速
  • WordPress全站广告新闻头条今日要闻
  • 网站买空间的价格免费开网店免费供货
  • wordpress 图片模版seo草根博客
  • 优秀网站设计推荐爱站网站排行榜
  • 制作微信公众号网站开发河北关键词seo排名
  • 律师微网站建设专门用来查找网址的网站
  • 个人做网站公司山东泰安网络推广
  • webshell wordpressaso优化平台
  • 网站建设通知书搜索引擎优化包括哪些内容
  • 建设一个网站的支出seo英文
  • 扬州建站公司百度关键词屏蔽
  • 东凤网站广告推广系统
  • 网站建设所操作是什么微信朋友圈产品推广语
  • c#网站开发日期控件世界杯数据分析