在弹性搜索中运行脚本时,出现504网关超时错误。
{
"query": {
"bool": {
"filter": {
"script": {
"script": " doc['creted_date'].date.getMonthOfYear() == 12 "
}
}
}
},
"aggs": {
"test": {
"date_histogram": {
"field": "creted_date",
"interval": "month",
"format": "MMM"
},
"aggs": {
"cost": {
"sum": {
"field": "cost"
}
}
}
}
}
}
错误结果:
{
"statusCode": 504,
"error": "Gateway Time-out",
"message": "Client request timeout"
}
每当我在文档数量很少的索引上运行此脚本时,它就会提供完美的输出。但是在具有大量文档的索引上,会出现上述错误。
我们可以在弹性搜索中手动设置请求超时吗?或对此问题有其他解决方案吗?
答案 0 :(得分:0)
尝试一下。
{
"query": {
"bool": {
"filter": {
"script": {
"lang": "expression",
"script": "doc['creted_date'].getMonth() == month-1",
"params": {
"month": 12
}
}
}
}
}
}
答案 1 :(得分:0)
尝试使用Elasticsearch 6.x。
{
"query": {
"bool": {
"filter": {
"script": {
"script": {
"source": "doc['created_on'].date.getMonthOfYear() == params.month",
"params": {
"month": 5
}
}
}
}
}
}
}