Как не хранить содержимое вложений с помощью Elastica

Когда я настроил отображение что-то вроде этого:

$mapping = new Mapping(…);
$mapping->setProperties([
…
'my_attachments' => [ 'type' => 'attachment', 'include_in_all' => true ]
]);

Он хранит содержимое файла в кодировке base64 и увеличивает индекс до смешного размера. Как я могу убедиться, что вложения индексируются и доступны для поиска, но не хранят их закодированное содержимое в индексе?

0

Решение

Нам нужно установить _source исключить my_attachments значение:

$mapping = new Mapping(…);
$mapping->setProperties([
…
'my_attachments' => [ 'type' => 'attachment', 'include_in_all' => true ]
]);
$mapping->setSource([ 'excludes' => 'my_attachments' ]);

После реализации этого и перестройки нашего тестового индекса размер уменьшился с 1,9 ГБ до 89 МБ.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]