elasticsearch-文档-父子文档(十一)
说明
需求 一个产品多个区域销售 每个区域有自己的价格,
方式1冗余行,a 产品分别在 area1 area2 area3区域销售 a产品就会生成3条产品数据 搜索id去重就行了,但是问题就是 聚合去重不支持 获得count 所以不能分页 只有选择假分页
方式2:父子关系 用于描述一对多管理 这里我采用方式2 产品为父文档 区域产品信息为子文档
6.*以下版本
创建索引
//put http://192.168.20.4:9200/lq_product_test
{ "mappings": { "product": {}, //父文档 type name "areaProductInfo": { //子文档type name "_parent": { "type": "product" //指定子文档的父文档typename } } } }
添加测试数据
1.插入文档
注意最后一个js有个\n换行符哦
//post http://192.168.20.4:9200/lq_product_test/product/_bulk { "index": { "_id": "1" }} {"productId":1, "name": "产品1","sumSellCount":10} { "index": { "_id": "2" }} {"productId":2, "name": "产品2","sumSellCount":11} { "index": { "_id": "3" }} {"productId":3, "name": "产品3","sumSellCount":12}
2.插入子文档
http://192.168.20.4:9200/lq_product_test/areaProductInfo/1?parent=1
{
"id": 1,
"areaCode": 2,
"price": 20
}
http://192.168.20.4:9200/lq_product_test/areaProductInfo/2?parent=2
{ "id": 2, "areaCode": 2, "price": 30 }
get:http://192.168.20.4:9200/lq_product_test/_search
子文档查询
get:http://192.168.20.4:9200/lq_product_test/_search
包含有product父文档的所有子文档
{ "query":{ "has_parent":{ "parent_type":"product", "query":{ "match_all":{} } } } }
父文档增加条件
{ "query":{ "has_parent":{ "parent_type":"product", "query":{ "term":{"productId":1} } } } }
父子文档都增加条件
{ "query": { "bool": { "must": [{ "query": { "term": { "areaCode": 2 } } }, { "has_parent": { "parent_type": "product", "query": { "term": { "productId": 1 } } } }] } } }
function_score排序
{ "query": { "function_score": { "query": { "has_parent": { "parent_type": "product", "query": { "match_all": {} } } }, "script_score": { "script": "_score *sumSellCount" } } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!