Ответ 1
Objectify автоматически преобразует строки из более чем 500 символов в собственное хранилище Text. Будьте осторожны, если вы индексируете строки; Текстовые объекты не индексируются, поэтому символы String > 500 будут неиндексированы.
При хранении полей String
с App Engine:
length()
для String
, который используется в приложении Engine
хранилище данных может обрабатываться?Objectify автоматически преобразует строки из более чем 500 символов в собственное хранилище Text. Будьте осторожны, если вы индексируете строки; Текстовые объекты не индексируются, поэтому символы String > 500 будут неиндексированы.
Я думаю, что ответы на этот вопрос устарели, поэтому я обновляюсь. Я использую GAE версии 1.9.22 и получил это в журналах ошибок:
Строковые свойства должны быть 1500 байт или меньше. Вместо этого используйте com.google.appengine.api.datastore.Text, который может хранить строки любой длины.
Использование com.google.appengine.api.datastore.Text хорошо работает, преобразовывая объект String в Text (например, новый текст (thisString) на стороне сервера вашего кода. библиотеки в com.google.appengine.api.datastore. * не работают на стороне клиента. Класс не найден.
Per документация, 500 символов. И нет, Objectify - это оболочка и не изменяет ваши данные, поэтому ограничения размера данных не изменяются.
Основываясь на обновлениях документации Google Datastore от октября 2016 года, вот пределы
Максимальный размер индексированного свойства строки UTF-8: 1,500 байт
Максимальный размер для неиндексированного свойства: 1,048,487 байт (1 MiB - 89 байт)
Таким образом, вы можете хранить строки, близкие к размеру 1 МБ, в неиндексированном свойстве String
.