我正在尝试将我的数据文档上传到CloudSearch。我将数据上传到名为test.json的文件中,它具有以下内容。
[
{
"type": "add",
"id": "1-1",
"fields": {
"id": 1,
"type": 1,
"address": "Moeboda 4",
"city": "Alvesta",
"country": "Sweden",
"rooms": 3,
"size": 45,
"price": 275000
}
}
]
我遇到了以下问题:
CloudSearch告诉我,上传的唯一字段是:
content, content_encoding, content_type, resourcename
当我下载生成的“批处理”时,我会收到以下数据:
[ {
"type" : "add",
"id" : "test.json",
"fields" : {
"content" : "[\r\n\t{\r\n\t\t\"type\": \"add\", \r\n\t\t\"id\": \"1-1\", \r\n\t\t\"fields\": {\r\n\t\t\t\"id\": 1,\r\n\t\t\t\"type\": 1,\r\n\t\t\t\"address\": \"Moeboda 4\",\r\n\t\t\t\"city\": \"Alvesta\",\r\n\t\t\t\"country\": \"Sweden\",\r\n\t\t\t\"rooms\": 3,\r\n\t\t\t\"size\": 45,\r\n\t\t\t\"price\": 275000\r\n\t\t}\r\n\t}\r\n]",
"resourcename" : "test.json",
"content_encoding" : "UTF-8",
"content_type" : "application/json"
}
} ]
所以我猜测AWS CloudSearch认为我的JSON是一个字符串,因此它创建一个新文件及其现在的字段(content,resourcename,content_encoding,content_type),并用我的“字符串”填充它,然后逃避它,因为字符串应该被转义。
我不知道为什么会这样,我已经做了好几个小时了。我一直在尝试.txt文件,.json,更改字符集,删除括号等等但没有任何作用。
是的,我已经设置了索引选项,我已经设置了我要上传的所有字段。见截图:
答案 0 :(得分:2)
此问题与.py文件的字符编码有关。当"强迫"它保存为UTF-8。我认为我的编辑已将其保存为" UTF-8与BOM"。
所以,如果你遇到这个问题。 Tripple检查你的编码和字符集。