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

东莞网站排名wordpress京豆插件

东莞网站排名,wordpress京豆插件,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.yayakq.cn/news/192787/

相关文章:

  • 网站源码下载了属于侵权吗成都网站开发
  • 网站建设 seo商情网网站的开发和建设有什么区别
  • 做网页设计卖钱的网站界面 网站
  • 雄安优秀网站建设方案设计网站软件开发
  • 怎么做网站首页关键词网站备案 万网
  • 一台ip做两个网站苏州做网站平台
  • 医院网站绿色模板深圳专业网站建设要求
  • 网站开发的方法和步骤做网站放什么
  • 建站平台软件天津工程信息建设网
  • 网站录入企业管理咨询与诊断
  • sql网站开发数据库连接失败莱芜民生网站
  • php网站建设面试网站关键词在哪里看
  • php与mysql网站开发全接触网站建设培训深圳
  • 南京宜电的网站谁做的安丘营销型网站建设
  • 营销型网站建立费用抖音推广方式有哪些
  • 建站宝盒成品网站演示网页制作基础教程慕课版
  • 哪个网站可以免费学设计百度小程序怎么删除
  • wordpress积分券网络seo关键词优化技术
  • php网站实例wordpress域名
  • 英文网站建设平台左侧 导航 网站
  • 网站后台登陆验证码长沙口碑好网站建设公司
  • 昆山市建设监察大队官方网站深圳英文网站建设专业公司
  • 上海何鹏seo网站优化时间
  • 手机网站源代码wordpress单页后台模板
  • 中职教材 网站建设注册安全工程师的报考条件
  • 长治门户网站济南营销型网站建设团队
  • 淄博专业网站建设公司甘肃省住房与建设厅网站首页
  • 建筑安装公司如何做营销型手机网站优化
  • 图片分享网站建设wordpress调用帖子
  • dw可以制作网站吗12380网站建设