gpt4 book ai didi

php - 子串上的elasticsearch聚合

转载 作者:行者123 更新时间:2023-12-02 22:19:12 25 4
gpt4 key购买 nike

我在Elasticsearch 5中有一个索引为String的字段
例如20090219,20100416等

我可以对这些数据进行汇总,但是我想对子字符串进行汇总。
那是
2009、2010

我不想转换为日期。我想获得前4个字符并获得计数。
这是我当前的代码.Elasticsearch的新手

$params['body']["aggs"]["Year"]["terms"]["field"] = "PublicationDate.keyword";
$params['body']["aggs"]["Year"]["terms"]["size"] = 10;
$params['body']["aggs"]["Year"]["terms"]["order"]["_count"] = "desc";

最佳答案

您可以使用elasticsearch script功能来实现此目的。

GET my-index/_search
{
"aggs" : {
"my-agg" : {
"terms" : {
"script": {
"inline": "doc['PublicationDate.keyword'].getValue().substring(0,4)"
},
"size": 10,
"order" : { "_count" : "desc" }
}
}
}
}

我不知道上述命令的等效 php脚本,但相信您将能够使其在 php中工作。

关于php - 子串上的elasticsearch聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com