Должны ли контрольные символы ASCII быть удалены из документов перед отправкой в ​​Vespa? - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь сохранить документ в Vespa со строковым полем. При использовании http-конечной точки document-api она отклоняется с ошибкой синтаксического анализа. Я подтвердил, что отправляется правильный 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

Я вижу, что есть проверка для этих типов символов (в моем случае вертикальная табуляция) com.yahoo.text.Text в allowedAsciiChars, но я не вижу в документации нигде, что я должен удалить эти символы перед отправкой в ​​Vespa , На самом деле я вижу противоположную ситуацию, когда Vespa изо всех сил пытается заменить некоторые символы за кулисами, не отвергая их.

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Я вижу противоположную ситуацию, когда Vespa изо всех сил пытается заменить некоторые символы за кулисами

Где ты это видишь?

Существует служебный метод Text.stripInvalidCharacters, предоставленный в качестве утилиты для клиентов на Java, которым необходимо вырезать символы из необработанного текста.

0 голосов
/ 05 января 2019

Пожалуйста, удалите контрольные символы ASCII из документов перед подачей.

Я обновлю документацию, хотя, похоже, в спецификации JSON сказано, что эти управляющие символы должны быть экранированы, поэтому они неявно запрещены в ленте

...