Solr 9.1时间序列流表达式中TZ参数不生效问题求助
Solr 9.1 Timeseries流表达式时区配置问题解决
针对你遇到的timeseries流表达式忽略全局TZ参数、始终返回UTC时区结果的问题,可以通过以下方式配置,让时间序列按指定时区输出:
解决方案:在日期参数中直接指定时区
将timeseries表达式的start和end参数中的日期数学表达式,直接附加时区标识(@时区ID),替代依赖全局TZ参数的方式。
修改后的请求示例:
https://localhost/solr/metrics/stream?expr=timeseries( metrics, q="type_i:4", field="ended_at_dt", start="NOW/MONTH@Asia/Kolkata", end="NOW/MONTH+5MONTH@Asia/Kolkata", gap="+1MONTH" )
原理说明
Solr的日期数学语法支持在日期表达式末尾通过@时区ID直接指定计算时区,这种方式优先级高于全局TZ参数。而timeseries流表达式的处理逻辑中,可能存在全局TZ参数未被正确读取的情况,直接在日期参数中嵌入时区信息可以规避这个问题,确保月度时间序列的计算完全基于Asia/Kolkata时区。
内容的提问来源于stack exchange,提问作者Devesh Mittal
相关产品推荐
相关产品推荐

