Elasticsearch terms使用脚本修改统计的数据源

如:索引中有两个 styleCode(类似spu)跟 goodsCode(类似sku)区分商品;现在需要根据品牌信息为七匹狼的数据使用goodsCode就行统计。

json 复制代码
POST xxx_goods_info/_search
{
	"query": {
		"bool": {
			"must": [{
					"term": {
						"brand": {
							"value": "七匹狼"
						}
					}
				},
				{
					"match": {
						"ngStatus": "sj"
					}
				}
			]
		}

	},
	"aggs": {
		"brand_terms_count": {
			"terms": {
				"script": "if(doc.brand.value=='七匹狼'){return doc.goodsCode}else{return doc.styleCode}",
				"size": 10
			}
		}
	}
}
  1. 查询时使用term和match过滤指定的品牌信息和商品状态
  2. aggs.brand_terms_count 使用script对统计来源进行处理,逻辑较为简单,如果是七匹狼品牌,返回goodsCode,其他使用styleCode。

参数也可以使用params传递,script脚本改成如下:

json 复制代码
POST xxx_goods_info/_search
{
	"query": {
		"bool": {
			"must": [{
					"term": {
						"brand": {
							"value": "七匹狼"
						}
					}
				},
				{
					"match": {
						"ngStatus": "sj"
					}
				}
			]
		}

	},
	"aggs": {
		"brand_terms_count": {
			"terms": {
				"script": {
				  "source": "if(doc.brand.value==params.brand){return doc.goodsCode}else{return doc.styleCode}",
				  "lang": "painless", 
				  "params": {
				    "brand":"七匹狼"
				  }
				},
				"size": 10
			}
		}
	}
}
相关推荐
KANGBboy7 小时前
ES 父子索引使用
大数据·elasticsearch·搜索引擎
墨神谕12 小时前
ES为什么要进行分片
大数据·elasticsearch·搜索引擎
Elasticsearch13 小时前
Elasticsearch BBQ:一场教科书式的向量搜索 “弯道超车”
elasticsearch
尽兴-13 小时前
ElasticSearch 搜索相关性详解(含评分机制+自定义策略+多字段优化)
大数据·elasticsearch·搜索引擎·相关性·评分机制·自定义策略·多字段优化
yhole13 小时前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins
爱听歌的周童鞋13 小时前
Agent Skill 从使用到原理,一次讲清
agent·reference·script·skill·mcp·claude code
尽兴-14 小时前
Elasticsearch 索引与文档管理实战:从倒排索引到建模最佳实践
大数据·elasticsearch·django·全文检索·索引
Elastic 中国社区官方博客15 小时前
使用 ES|QL 变量控件将仪表板转变为调查工具
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
Elasticsearch17 小时前
原生自动化与 Elastic Workflows — 不需要 SOAR
elasticsearch
逸Y 仙X17 小时前
文章十二:索引数据的写入和删除
java·大数据·spring boot·spring·elasticsearch·搜索引擎·全文检索