Solr 9文档删除失败求助:执行删除请求后文档未移除
Solr删除文档请求返回成功但文档未移除的问题
问题详情
执行以下删除请求后,文档并未从仓库中移除:
http://localhost:8983/solr/cd1/update?commit=true&stream.body=%3Cdelete%3E%3Cquery%3E_version_:1743777526692446200%3C/query%3E%3C/delete%3E
响应头返回状态正常:
<int name="rf">1</int> <int name="status">0</int>
环境与操作背景
- 单节点单仓库部署
- 已在
solrconfig.xml中启用stream.body - 已重启Solr服务
排查与解决步骤
验证版本号准确性
- 先通过查询确认目标文档的
_version_是否正确,执行以下请求:http://localhost:8983/solr/cd1/select?q=_version_:1743777526692446200&fl=id,_version_ - 如果查询不到结果,说明版本号错误,需获取当前有效的文档版本号后再执行删除。
- 先通过查询确认目标文档的
改用POST请求执行删除
- 避免URL编码可能带来的问题,用curl发送POST请求:
curl -X POST http://localhost:8983/solr/cd1/update -H "Content-Type: text/xml" --data-binary '<delete><query>_version_:1743777526692446200</query></delete>' - 之后手动提交变更:
curl -X POST http://localhost:8983/solr/cd1/update?commit=true
- 避免URL编码可能带来的问题,用curl发送POST请求:
检查Solr日志与提交配置
- 查看
solr_home/logs目录下的日志文件,确认删除操作是否有报错信息。 - 检查
solrconfig.xml中的提交配置,是否存在自动提交延迟设置,导致删除操作未立即生效。
- 查看
尝试按ID直接删除
- 若知道文档的
id字段值,直接按ID删除测试:curl -X POST http://localhost:8983/solr/cd1/update -H "Content-Type: text/xml" --data-binary '<delete><id>目标文档ID</id></delete>' - 提交后检查文档是否移除,以此判断是版本号查询问题还是删除机制问题。
- 若知道文档的
内容的提问来源于stack exchange,提问作者mrcrag
相关产品推荐
相关产品推荐

