Is it a custom index?
If so, you can trigger a rebuild on the publish event.
Code to trigger a rebuild:
SearchIndexInfo indexToRebuild = SearchIndexInfoProvider.GetSearchIndexInfo(index);
if (indexToRebuild != null)
{
// Creates a rebuild task for the index.
// The rebuild task will be processed as part of the next request handled by the application,
// or by a scheduled task if the application is configured to handle search tasks using the scheduler.
SearchTaskInfoProvider.CreateTask(SearchTaskTypeEnum.Rebuild, null, null, indexToRebuild.IndexName, indexToRebuild.IndexID);
}