Я ранее использовал плагин mapper-attachments, который теперь устарел, что было довольно легко использовать вместе с обычной индексацией. Теперь, когда приложение ingest-attachment заменило его и требует конвейера и т. Д., Он стал запутывать, как правильно его использовать.Каким образом вы используете плагин для вставки с помощью elasticsearch-rails?
Допустим, у меня есть модель с именем Media
, которая имеет поле file
, содержащее файл с кодировкой base64. У меня есть следующие отображения в этом файле:
mapping '_source' => { :excludes => ['file'] } do
indexes :id, type: :long, index: :not_analyzed
indexes :name, type: :text
indexes :visibility, type: :integer, index: :not_analyzed
indexes :created_at, type: :date, include_in_all: false
indexes :updated_at, type: :date, include_in_all: false
# attachment specific mappings
indexes 'attachment.title', type: :text, store: 'yes'
indexes 'attachment.author', type: :text, store: 'yes'
indexes 'attachment.name', type: :text, store: 'yes'
indexes 'attachment.date', type: :date, store: 'yes'
indexes 'attachment.content_type', type: :text, store: 'yes'
indexes 'attachment.content_length', type: :integer, store: 'yes'
indexes 'attachment.content', term_vector: 'with_positions_offsets', type: :text, store: 'yes'
end
Я создал конвейер крепления с помощью завитка:
curl -XPUT 'localhost:9200/_ingest/pipeline/attachment' -d'
{
"description" : "Extract attachment information",
"processors" : [
{
"attachment" : {
"field" : "file"
}
}
]
}'
Теперь, ранее простой Media.last.__elasticsearch__.index_document
было бы достаточно, чтобы индексировать запись наряду с фактическим file
через плагин mapper-attachments
.
Я не уверен, как это сделать с помощью ingest-attachment
с использованием трубопровода и драгоценного камня elasticsearch-rails
.
я могу сделать следующий PUT через завиток:
curl -XPUT 'localhost:9200/assets/media/68?pipeline=attachment' -d'
{ "file" : "my_really_long_encoded_file_string" }'
Этот индекс зашифрованного файла, но очевидно, что это не индексирует остальные данные модели (или переписывает его полностью, если он был ранее индексируются) , Я действительно не хочу включать каждый атрибут модели вместе с файлом в команде curl. Есть ли лучшие или более простые способы сделать это? Я просто полностью отключен от трубопроводов, и прием пищи должен работать?