Umbraco Examine Search for Full Site
From my point of view, I cannot see any further improvement in terms of efficiency when you have a massive list of fields like that.

However, you might be interested in change the logic slightly.

For example, you might want the user to select the topic that he is interested in (using a dropdown list):


Offices
News
...
Events


And once he had selected the topic, and typed the keyword (s) in the input field, you can perform the search against an array which contains the fundamental fields such as heading, bodyText and against a custom list of fields just for that particular topic, such as the News:

string[] aliasNewsList = new string[]{"newsDate", "newsLocation", "newsSummary", "newsCategory"};