Extend rebuild_index to allow a temp index to be targeted and then
swapped into place to prevent downtime