由于 timeAllowed 参数,如何识别 SOLR returns 空结果?
Ways to identify that SOLR returns empty results because of timeAllowed parameter?
我正在使用 timeAllowed
来处理 API 满足 SLA 的请求。我假设我所有的查询响应都不到 2 秒。我的 API sla 是 5 秒。所以我将 3 秒设置为 timeAllowed
参数。
数据在增长,使用模式也发生了变化。因此 2 秒 sla 不匹配。我明白 SLA 必须修改。
但我想区分 timeAllowed
参数导致 0 个结果和没有结果。
有什么办法吗?
如果超过timeAllowed
时间,partialResults
键将在响应中设置为真:
"responseHeader": {
"status": 0,
"zkConnected": true,
"partialResults": true,
"QTime": 20,
"params": {
"q": "*:*"
}
},
请注意,如果 Solr 无法联系云集合中的其中一个分片,也将设置此键 - 即它表示返回的响应只是部分响应,而不是 timeAllowed
参数被超出。
不过,Solr 服务器日志应该在 WARNING
级别显示一条记录消息,据我从源代码中得知已超过时间限制。
我正在使用 timeAllowed
来处理 API 满足 SLA 的请求。我假设我所有的查询响应都不到 2 秒。我的 API sla 是 5 秒。所以我将 3 秒设置为 timeAllowed
参数。
数据在增长,使用模式也发生了变化。因此 2 秒 sla 不匹配。我明白 SLA 必须修改。
但我想区分 timeAllowed
参数导致 0 个结果和没有结果。
有什么办法吗?
如果超过timeAllowed
时间,partialResults
键将在响应中设置为真:
"responseHeader": {
"status": 0,
"zkConnected": true,
"partialResults": true,
"QTime": 20,
"params": {
"q": "*:*"
}
},
请注意,如果 Solr 无法联系云集合中的其中一个分片,也将设置此键 - 即它表示返回的响应只是部分响应,而不是 timeAllowed
参数被超出。
不过,Solr 服务器日志应该在 WARNING
级别显示一条记录消息,据我从源代码中得知已超过时间限制。