我正在使用 solrJ 将文档添加到我的 solr 索引中。我看到来自 solr 的日志引发异常,但是在调试来自 solrJ 的响应时,它没有说明 solr 失败。有没有办法让我在 solrJ 中得到这个错误(错误类型:org.apache.solr.common.SolrException)?
谢谢
如果您使用 ConcurrentUpdateSolrServer(SolrJ 3.6 及更高版本)或 StreamingUpdateSolrServer(3.6 及更早版本),则不会对更新请求进行错误处理。更新请求总是成功并立即返回,无论 Solr 是否接受它们。错误已记录但仅此而已。发生这种情况是因为请求由后台线程发送到 Solr。
如果您需要异常处理,请改用 HttpSolrServer(旧版本中的 CommonsHttpSolrServer)。Concurrent/Streaming 对象为内置线程交换错误处理。HttpSolrServer 是完全线程安全的,但内部不使用多个线程,因此您需要在自己的应用程序中同时处理多个线程的索引。
注意:您可能会对上面列出的两个对象的 3.6 的事实感到困惑。这不是错字——旧的对象类型在 3.6.0 中已被弃用,并在 4.0.0 中被删除。