solr - 文档缺少必填的 uniqueKey 字段:id
问题描述
尝试将文档添加到 Solr (7.7.2) 时出现此错误
这是产生错误的最小化文档
{
"add": {
"doc": {
"id": "DOC1",
"deleted": true
}
}
}
以及与之配套的最小化架构
<?xml version="1.0" encoding="UTF-8"?>
<schema name="Master" version="1.6">
<uniqueKey>id</uniqueKey>
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
<fieldType name="string" class="solr.StrField" sortMissingLast="true"/>
<field name="deleted" type="boolean" multiValued="false" indexed="true" stored="true" />
<field name="id" type="string" required="true" indexed="true" stored="true"/>
<!-- ignore all other fields -->
<dynamicField name="*" type="ignored"/>
</schema>
当我只提交文件时
{
"id": "DOC1",
"deleted": true
}
然后它可以工作,但我想将它与其他文件/命令一起提交。
我了解该消息的含义,即我正在尝试提交没有必填字段“id”的文档,但是我提交的内容具有该字段,因此我不明白为什么会出现错误。任何帮助,将不胜感激。
解决方案
我想知道 Admin UI 是否不支持您使用的格式,文档不是很清楚。
您可以尝试使用 cURL。将你的 JSON 保存到一个文件中,比如“sample.json”,下面的命令应该这样做:
curl -X POST -H "Content-Type: application/json" -d "@sample.json" http://localhost:8983/solr/your-solr-core/update?commit=true
推荐阅读
- r - 更改已经是 R 中向量中的名称的元素名称
- php - Laravel 验证 - 取决于另一个输入字段的值
- android - Flutter App 与设备内置应用程序通信
- node.js - 是否可以在使用限制时从 Mongo 中获得总计数
- tensorflow - 如何在 tensorflow 服务中通过 gRPC 获取配置列表?
- go - 如何正确检查 plugin.Open 返回的错误类型
- excel - 将多张图片导入 Excel 并在另一台计算机上打开文件
- r - 在ggplot中更改y轴中心
- vba - 如何更改非英文单词的字体大小?
- docker - Heroku Docker - Tomcat 7 不服务请求