Я написал следующий запрос в Elasticsearch, который обновляет атрибуты на основе file.filename. Это займет около 6 секунд. на запись в общей сложности 590 таких записей. Интересно, есть ли лучший способ оптимизировать его для гораздо большей громкости. Запрос приведен ниже:
$results = $e->update_by_query(
index => $index_name,
body => {
query => {
match_phrase => {
"file.filename" => $filename
}
},
script => {
source => "ctx._source.dbattrs = params.value",
params => {
value => {
creation_datetime => $creation_dt,
edi_name => $val->{edi_name},
status => $val->{status},
ic_number => $val->{ic_number},
comment => $val->{comment},
version_id => $val->{version_id},
actions => $val->{actions},
edi_partner => $val->{edi_partner},
document_id => $val->{document_id},
document_uuid => $val->{document_uuid},
document_name => $val->{document_name}
}
}
}
}
);
Индекс может иметь миллионы записей в ближайшие дни. Мне нужно оптимизировать его, чтобы сократить общее время процесса обновления.
Спасибо.