You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch仪表板新用户计数结果不一致问题排查求助

Elasticsearch新用户计数不一致问题排查求助

问题详情

  • 环境:Elasticsearch 8.4.1,仪表板追踪5月至8月数据,展示活跃用户、新用户、消息总数
  • 异常现象:新用户计数结果不稳定,如7月原计数1902,复测变为1903;8月原计数3894,现变为3899。但活跃用户、消息总数的计数始终保持一致
  • 字段说明:活跃用户统计使用dateTime字段,新用户统计使用created_date字段,两者字段类型一致:
"created_date": {
"type": "date_nanos",
"store": true,
"format": "date_optional_time"
}

新用户计数的Java实现代码

private Terms getNewUsersTerms(Integer botId, String from, String to) {
try {
    RestHighLevelClient client = getElasticClient(botId);

    AggregationBuilder aggregationBuilder = AggregationBuilders.terms("uniqueIds").field("currentState.user.id").size(Integer.MAX_VALUE);

    QueryBuilder queryBuilder = QueryBuilders.boolQuery()
        .must(QueryBuilders.matchAllQuery())
        .filter(QueryBuilders.rangeQuery("currentState.created_date").gte("2023-08-01").lte("2023-08-31"));

    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder()
        .aggregation(aggregationBuilder)
        .query(queryBuilder).size(0);

    SearchRequest searchRequest = new SearchRequest(botId + INDEX_POSTFIX)
        .source(searchSourceBuilder);

    SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
    return searchResponse.getAggregations().get("uniqueIds");
} catch (Exception e) {
    logger.warn(e.getMessage(), e);
    return null;
}}

求助方向

  • 排查当前方案中可能存在的疏漏点
  • 提供识别并解决计数不一致问题的具体步骤

内容的提问来源于stack exchange,提问作者DanTe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 01:45:13