es 复合数据类型——数组,对象和嵌套
嵌套代码如下:
PUT demo { "settings": { "number_of_shards": 4, "number_of_replicas": 1 }, "mappings": { "properties": { "id": { "type": "long" }, "title": { "type": "text" }, "university": { "type": "nested", "properties": { "name": { "type": "text" }, "foundingYear": { "type": "date" }, "address": { "type": "text" }, "college": { "type": "nested", "properties": { "name": { "type": "text" } } } } } } } } POST demo/_doc { "id": 1, "title": "北京市学校信息列表", "university": [ { "name": "清华大学", "address": "北京市海淀区双清路30号", "foundingYear": "1911-04-09", "college": [ { "name": "土木水利学院" }, { "name": "信息科学技术学院" }, { "name": "材料学院" } ] }, { "name": "北京大学", "address": "北京市海淀区颐和园路5号", "foundingYear": "1898-06-01", "college": [ { "name": "经济学院" }, { "name": "外国语学院" }, { "name": "信息科学技术学院" } ] } ] } PUT demo/_doc { "id": 2, "title": "上海市学校信息列表", "university": [ { "name": "复旦大学", "address": "上海市杨浦区邯郸路220号", "foundingYear": "1905-06-29", "college": [ { "name": "哲学学院" }, { "name": "信息科学与工程学院" }, { "name": "计算机科学技术学院" } ] }, { "name": "上海交通大学", "address": "上海市闵行区东川路800号", "foundingYear": "1896-12-01", "college": [ { "name": "船舶海洋与建筑工程学院" }, { "name": "环境科学与工程学院" }, { "name": "外国语学院" } ] } ] } GET demo/_doc/_search { "_source": { "includes": [ "*" ], "excludes": [ "university" ] }, "query": { "nested": { "path": "university", "query": { "bool": { "must": [ { "match": { "university.name": "清华" } } ] } }, "inner_hits": {} } } }
对象代码如下:
PUT demo2 { "settings": { "number_of_shards": 4, "number_of_replicas": 1 }, "mappings": { "properties": { "id": { "type": "long" }, "title": { "type": "text" }, "university": { "type": "object", "properties": { "name": { "type": "text" }, "foundingYear": { "type": "date" }, "address": { "type": "text" } } } } } } POST demo2/_doc { "id": 1, "title": "北京市学校信息列表", "university": { "name": "北京大学", "address": "北京市海淀区颐和园路5号", "foundingYear": "1898-06-01" } } GET demo2/_doc/_search { "query": { "bool": { "must": [ { "match": { "university.name": "北京" } } ] } } }
分类:
elasticsearch/es
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2020-07-08 docker 搭建Mycat环境实现Mysql数据库的读写分离
2020-07-08 mycat 链接mysql提示ERROR 3009 (HY000): java.lang.IllegalArgumentExceptio解决方式
2020-07-08 Docker 启动容器的时候出现iptables: No chain/target/match by that name
2020-07-08 docker run mycat 报错 mycat/conf/wrapper.conf: No such file or directory
2020-07-08 MySQL复制报错(Slave failed to initialize relay log info structure from the repository)
2019-07-08 window git安装 以及 tortoiseGit安装与使用
2019-07-08 centos 安装 libiconv