簡體   English   中英

錯誤請求錯誤嘗試通過Solrj向服務器添加文檔時

[英]Bad Request Error When attempting to add documents to server through Solrj

我正在嘗試使用Java進行簡單的SolrDocument提交,就像Solrj Wiki中詳述的那樣。 但是,提交總是失敗並返回:

org.apache.solr.common.SolrException: Bad Request
Bad Request
request: http://address:port/solr/update?wt=xml&version=2.2

在通過Solrj查詢Solr服務器時,我沒有遇到任何問題,所以我認為地址或連接沒有任何問題。

如果這太模糊,我會道歉,但這是我必須繼續下去的。 謝謝。

我之前遇到過這個問題,我的問題是solr文檔對schema.xml中定義的字段無效。 因此,使字段和類型匹配,問題將得到解決。

根據schema.xml,您的某些字段可能有誤。 除了查找類路徑中是否存在多個schema.xml之外,您的服務器可能在正確之前加載錯誤。

我遇到了同樣的問題,異常說schema.xml有些不好但沒說明根本原因是什么。 檢查你的服務器日志(對我來說這是tomcat日志,因為我用tomcat運行solr),solr端有記錄的異常。

例如,我的問題是:

SEVERE: org.apache.solr.common.SolrException: ERROR: [doc=XXXDOCURL] multiple values encountered for non multiValued field XXXMYFILED:

要檢查的文件:

  • $ SOLR_HOME / $ CORE_HOME / conf目錄/ schema.xml中
  • $ NUTCH_HOME / runtime / local(或deploy)/conf/solr-mapping.xml

那問題不是schema.xml,而是我的代碼。 我嘗試了兩次nutchDocument.add(XXXMYFIELD,“一些值”)所以對於solr來說它看起來像多值。

如果可能的話,嘗試使用CloudSolrServer而不是HttpSolrServer進行連接,這樣您就可以通過減少工作量來找出問題所在。 我發現后者會給你這個例外,它不包含關於請求如何“壞”的線索,而前者將有更多細節。

缺少必填字段f HttpSolrServer異常:

org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Bad Request

同一件事的CloudSolrServer異常:

org.apache.solr.client.solrj.impl.CloudSolrServer$RouteException: [doc=1] missing required field: f

轉到您的solr管理頁面,然后按日志記錄。 檢查未定義的字段錯誤並將該字段添加到schema.xml並重新啟動solr

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM