2015-05-01 1 views
0

Когда я отображение сконфигурировано что-то вроде этого:Как не сохранять содержимое вложений с помощью 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.9GB до 89MB.

Смежные вопросы