1

Solrは、必須フィールド(documentId)が欠落していると報告していますが、フィールドと値はSolrに渡されています。スキーマから:

<fields>
   <field name="id" type="string" indexed="true" stored="true" required="true" /> 
   <field name="documentId" type="string" indexed="true" stored="true" required="true" /> 
</fields>

Solrログによると、documentIdは次のように渡されます。

org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/update/extract params={waitSearcher=true&commit=true
&literal.id=C:\documents\102\Comps+Database+BRD.docx&literal.documentId=102&w
t=javabin&waitFlush=true&version=2} status=400 QTime=489

なぜSolrは次のように報告するのでしょうか。

org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: [doc=C:\documents\102\test.docx]
 missing required field: documentId

抽出リクエストのタイプミスを修正しましたが、それでも同じエラーが発生します

4

3 に答える 3

5

何らかの理由で、Solr はフィールド名の「Id」サフィックスを好みません。「documentId」の名前を「document」に変更しても、エラーは発生しません。「testId」でも失敗しましたが、名前を「test」に変更すると機能しました。「Id」フィールド名のサフィックスにより、値が渡された場合でもsolrが必須フィールドの欠落を常に報告する理由を誰かが知っていますか?

于 2012-10-10T15:18:54.663 に答える