elasticsearch - 弹性搜索按特定字段的计数分组
问题描述
我有一个包含以下文档的弹性搜索索引
{
"id":1
"mainid ": "497940311988134801282012-04-10 ",
}
{
"id":2
"mainid ": "497940311988134801282012-04-10 ",
}
我希望有一个类似于 -example mysql table 的查询
id mainid
1 497940311988134801282012-04-10
2 497940311988134801282012-04-10
3 497940311988134801282012-04-10
4 something different
select id ,mainid ,count(mainid) as county from wfcharges group by mainid,id having county>1;
在弹性搜索中,因为弹性中没有可用的计数聚合功能。我被困在这里。这就是我尝试过的。任何建议或在线资源。谢谢
GET /wfcharges/_search
{
"aggs" : {
"countfield" : {
"count" : { "field" : "mainid" }
}
}
}
解决方案
我认为您想使用术语 aggregation。这将按相似的术语分组并返回每个术语的计数。例如,查看链接的 url。
在你的情况下,它看起来像这样:
GET /wfcharges/_search
{
"aggs" : {
"countfield" : {
"terms" : { "field" : "mainid" }
}
}
}
推荐阅读
- java - 继承 var java
- python - 如何在kivy中获取小部件位置
- ios - iOS PKCS#7 如何解密 P7M 文件?现在有 .pfx 文件
- java - 继承,为什么打印结果为空?
- yii2 - Yii2 mPdf Kartik:设置纸张的高度和宽度
- javascript - 单击锚链接时手风琴选项卡自动打开
- java - Java:从密钥库文件中确定密钥库的类型
- spring-boot - 在 Junit ClassRule 中访问 spring-boot application.properties 元素
- scala - Kudu Import 上的 GeoMesa 出现空间数据错误
- racket - 在使用完整的 Rosette 语言时,有哪些方法可以识别未提升的 Racket 结构?