Vieleicht solltest du jede Datensatzänderung in eine Zwischentabelle eintragen, die dann vom Indexdienst verzögert abgeabeitet wird.
Tabellen Name
ID
Alter Zustand
Neuer Zustand
Eigentlich hatte ich ja vor, dem Index-Dienst einfach ein Event mit der ID des Datensatzes zu senden, doch wie ich jetzt feststellen muss (ich habe vorher noch nie mit Events gearbeitet) kann man keine Parameter übergeben. Daher muss ich wohl zwangsläufig mit einer "Warteschlangen"-Tabelle arbeiten...
edit: oder einfach ein weiteres Boolean-Feld in den Tabellen: Indiziert: ja / nein
Dieses über einen Trigger bei jeder Änderung / Insert auf 0 setzen. Nach dem indizieren hat das Feld den Wert 1 = indiziert.