我正在使用Windows和REST API
,并已安装附件插件,重新启动elasticsearch
并为attachment
中的特定类型创建了_mapping
属性。但是,我得到一个错误:
我执行了这个:(不工作)
{
http://localhost:9200/documentsx/person/1(post)
}
{
"my_attachment" : {
"_content_type" : "application/pdf",
"_name" : "/sap1.pdf",
"content" : "... base64 encoded attachment ..."
}
}
我收到此错误:
:
{
"error": "MapperParsingException[failed to parse]; nested: JsonParseException[Failed to decode VALUE_STRING as base64 (MIME-NO-LINEFEEDS): Illegal white space character (code 0x20) as character #3 of 4-char base64 unit: can only used between units\n at [Source: [B@16dd7aa; line: 5, column: 29]]; ",
"status": 400
}
顺便说一句,如果我删除文件或在
_name
上面放一些随机文件名,它会给出相同的错误,我认为它不是在读取文件本身。我要去哪里错了?
最佳答案
要消除此错误,“content”属性的值必须是base64编码的字符串。您需要读取文件的内容,并将其转换为base64编码的字符串,然后将该字符串放置在上面的“... base64编码的附件...”的位置。
关于elasticsearch - Elasticsearch附件类型不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23426655/