In your hook posted above you use “indexPages()”, but the correct one would be “indexPage($page)” without the s at the end.
Your hook creates a completely new search index each time, not only for the changed page but for all pages.
You have to use something like this (not tested)
$wire->addHookAfter('Pages::saveReady', function($event) {
$page = $event->arguments(0);
$event->modules->get('SearchEngine')->indexPage($page);
$event->wire('log')->save('Page saved', "Page ID: $page->id / Page Name: $page->name / Page Parents: $page->parents");
});