Missing \Db::quote()
Optimization: delete and re-insert keywords only if they are modifications for the current item
Optimization: save date of indexation only if keywords have changed
Force 'field_date_indexation' if not yet setted

Useful if the field is added after first indexation