gpt4 book ai didi

solr - SolrResponse.getStatus() 的正确使用

转载 作者:行者123 更新时间:2023-12-05 00:35:43 24 4
gpt4 key购买 nike

环顾网上的例子,我猜是getStatus()成功返回零,并且大多数失败将表现为异常,而不是非零错误代码。

真的吗?当 getStatus() 返回非零值时抛出错误是否安全/正确? getStatus() 可能返回哪些非零值,这些值意味着什么?

最佳答案

我不确定,您是否会在 solrj 中看到非零代码,因为在 org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpRequestBase, ResponseParser):491 中对于每个非正常状态代码,将抛出 SolrException (sorlj 5.3.0)。

可能的值是(根据 this ,Solr 1.x)设置在 org.apache.solr.core.SolrCore 中, 在方法 postDecorateResponse (Solr 5.2.1,在此之前它曾经是 Method setResponseHeaderValues ),它将使用 500对于一般异常或 codeSolrException (参见枚举 SolrException.ErrorCode):

400 - BAD_REQUEST
401 - UNAUTHORIZED
403 - FORBIDDEN
404 - NOT_FOUND
409 - CONFLICT
415 - UNSUPPORTED_MEDIA_TYPE
500 - SERVER_ERROR
503 - SERVICE_UNAVAILABLE
510 - INVALID_STATE
0 - UNKNOWN

我最终将每个响应传递给一个检查方法,这将抛出一个异常:
private void checkResponse(SolrResponseBase response){
if(response.getStatus() != 0){
throw new RuntimeException(String.format("Solr-Response has error code %s",response.getStatus()));
}
}

关于solr - SolrResponse.getStatus() 的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13019986/

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