You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solr提示缺少唯一键id,但该字段实际已存在

问题描述

我了解已有许多关于缺失uniqueId的相关帖子,但在我的场景中,该字段并未缺失。我通过curl发送给Solr的请求代码如下:

http://solr.xxxxxxxxx.com:8983/solr/email/update/extract?commit=true&** *%26literal.archive_id_s%3D1690134
%26literal.attachment_id_s%3D2102500%26literal.base_name_s
%3D6658a301ea80b_28d248343289759_primal.mail.txt
%26literal.created_at_dt%3D2024-05-
30T12%3Dasxxxxxx%40xxxxxxxxxxxxxxxxxxxx.com" -F 
"myfile=@/email_archive/attachments/2024/5/30/6658a301ea80b_28d2483432
89759_primal.mail.txt"

我已在上述代码中标记出id字段,但仍收到如下错误:

{ "responseHeader":{ "status":400, "QTime":1}, "error":{ "metadata":[ "error-class","org.apache.solr.common.SolrException", "root-error-class","org.apache.solr.common.SolrException"], "msg":"Document is missing mandatory uniqueKey field: id", "code":400}}

我已检查schema.xml未发现异常,恳请各位提供解决建议。


排查与解决建议
  • 修正curl命令格式错误
    你提供的命令存在多处格式问题,直接导致参数无法被Solr正确解析:

    • URL中的** *是无效干扰字符,需删除
    • 参数混用了未转义的&和转义后的%26,直接用&分隔参数即可(curl会自动处理URL编码)
    • created_at_dt参数值被错误拼接,需修正为合法的ISO时间格式(如2024-05-30T12:00:00Z)
  • 显式传递id字段
    从现有命令中未看到明确的literal.id参数——Solr要求的uniqueKey字段是id,而非你设置的archive_id_s或其他字段。必须显式添加该参数,示例修正后的命令:

    curl "http://solr.xxxxxxxxx.com:8983/solr/email/update/extract?commit=true&literal.id=你的唯一ID值&literal.archive_id_s=1690134&literal.attachment_id_s=2102500&literal.base_name_s=6658a301ea80b_28d248343289759_primal.mail.txt&literal.created_at_dt=2024-05-30T12:00:00Z" -F "myfile=@/email_archive/attachments/2024/5/30/6658a301ea80b_28d248343289759_primal.mail.txt"
    
  • 再次验证schema配置
    确认schema.xml中uniqueKey的配置确实指向id,且字段定义合法:

    <uniqueKey>id</uniqueKey>
    <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
    
  • 用极简请求测试
    先发送不含额外参数的测试请求,排除其他变量干扰:

    curl "http://solr.xxxxxxxxx.com:8983/solr/email/update/extract?commit=true&literal.id=test_unique_id" -F "myfile=@/path/to/test-file.txt"
    

    若请求成功,再逐步添加其他参数,定位可能的问题点。

内容的提问来源于stack exchange,提问作者Warren H. Prince

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:01:04