Я попытался использовать поле db.blobColumn с содержимым BLOB-объектов базы данных, и оно хорошо работает, извлекая текст из файла и делая OCR, если это изображение. Но да, он также принимает текстовое содержимое в форме типа CLOB базы данных.
Предлагаю вам взглянуть на код соединителя базы данных здесь . Здесь важны два основных файла: DatabaseAccess. java и DatabaseRepository. java.
private ByteArrayContent createBlobContent(Map<String, Object> allColumnValues) {
byte[] bytes;
Object value = allColumnValues.get(columnManager.getBlobColumn());
if (value == null) {
return null;
} else if (value instanceof String) {
bytes = ((String) value).getBytes(UTF_8);
} else if (value instanceof byte[]) {
bytes = (byte[]) value;
} else {
throw new InvalidConfigurationException( // allow SDK to send dashboard notification
"Invalid Blob column type. Column: " + columnManager.getBlobColumn()
+ "; object type: " + value.getClass().getSimpleName());
}
return new ByteArrayContent(null, bytes);
}
Выше фрагмента кода из DatabaseRepository. java файл отвечает за генерацию содержимого двоичного объекта (двоичного), которое подталкивается к облачному поиску. Содержимое Clob и Blob приходит к этой функции в виде байта []. И выдвигается как есть в Cloud Search.
Примечание от здесь :
Google Cloud Search будет индексировать только первые 10 МБ вашего контента, независимо от того, является ли он текстовым файлом или двоичным контентом.