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>
Run Code Online (Sandbox Code Playgroud)
根据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
Run Code Online (Sandbox Code Playgroud)
为什么Solr会报告:
org.apache.solr.common.SolrException log
SEVERE: org.apache.solr.common.SolrException: [doc=C:\documents\102\test.docx]
missing required field: documentId
Run Code Online (Sandbox Code Playgroud)
编辑 提取请求中更正的拼写错误,但仍然是相同的错误.
出于某种原因,Solr不喜欢字段名称上的"Id"后缀.当我将"documentId"重命名为"document"时,我没有错误.它也在"testId"上失败,但在我重命名为"test"时起作用.有谁知道为什么"Id"字段名称后缀会导致solr总是报告缺少必填字段,即使传递了一个值?
| 归档时间: |
|
| 查看次数: |
4398 次 |
| 最近记录: |