在发送给 Vespa 之前,是否应该从文档中删除 ASCII 控制字符?
Should ASCII control characters be stripped from documents before sending to Vespa?
我正在尝试使用字符串字段将文档存储到 Vespa 中。使用 document-api http 端点时,它因解析错误而被拒绝。我已验证发送的 JSON 正确(其他文件正常)。
这是我看到的错误消息:
PARSER_ERROR Error in document 'id:x:y:n=1:1FVzo2l7mMLticB0WMkBKIECMLzAg' - could not parse field 'content' of type 'string': The string field value contains illegal code point 0xB
我可以看到在 allowedAsciiChars
中检查了这些类型的字符(在我的例子中是垂直制表符)com.yahoo.text.Text
,但是我在文档中没有看到我应该剥离的任何地方这些字符在发送给 Vespa 之前。事实上,我看到了一种相反的情况,Vespa 会不遗余力地在幕后替换某些字符而不拒绝它们。
进纸前请去除文档中的 ASCII 控制字符。
我会更新文档,尽管 JSON spec 似乎说这些控制字符必须转义,所以这些在提要中隐式不允许
I see sort of the opposite situation where Vespa will go out of its way to replace certain chars behind the scenes
你在哪里看到的?
在 Java 中有一个 Text.stripInvalidCharacters 实用程序方法作为实用程序提供给客户端,它需要从未清理的文本中去除字符。
我正在尝试使用字符串字段将文档存储到 Vespa 中。使用 document-api http 端点时,它因解析错误而被拒绝。我已验证发送的 JSON 正确(其他文件正常)。
这是我看到的错误消息:
PARSER_ERROR Error in document 'id:x:y:n=1:1FVzo2l7mMLticB0WMkBKIECMLzAg' - could not parse field 'content' of type 'string': The string field value contains illegal code point 0xB
我可以看到在 allowedAsciiChars
中检查了这些类型的字符(在我的例子中是垂直制表符)com.yahoo.text.Text
,但是我在文档中没有看到我应该剥离的任何地方这些字符在发送给 Vespa 之前。事实上,我看到了一种相反的情况,Vespa 会不遗余力地在幕后替换某些字符而不拒绝它们。
进纸前请去除文档中的 ASCII 控制字符。
我会更新文档,尽管 JSON spec 似乎说这些控制字符必须转义,所以这些在提要中隐式不允许
I see sort of the opposite situation where Vespa will go out of its way to replace certain chars behind the scenes
你在哪里看到的?
在 Java 中有一个 Text.stripInvalidCharacters 实用程序方法作为实用程序提供给客户端,它需要从未清理的文本中去除字符。