A quick note on how we've just replaced a missing index on a Perch site belonging to one of our clients.
The script below will load all posts, iterate over them and regenerate the index:
include('perch/runtime.php');
$API = new PerchAPI(1.0, 'perch_blog');
$Posts = new PerchBlog_Posts($API);
$posts = $Posts->all();
if (PerchUtil::count($posts)) {
$c=1;
foreach($posts as $Post) {
echo "Reindexing post {$c}\n";
$Post->index();
$c++;
}
}