Ich kenne keine Standardfunktionalität in Sitecore, die Ihnen dabei helfen würde, dies zu erreichen, daher werden Sie wahrscheinlich von Grund auf vorgehen müssen - es sei denn, jemand anderes hier kann auf ein Bundle verweisen :-)
Das Lösen dieses Problems lässt sich wirklich in zwei Aufgaben unterteilen
1) Sammeln von Suchbegriffsinformationen. Wenn ein Benutzer einen Suchbegriff in das Suchfeld eingibt, von dem ich annehme, dass Sie es haben; normalisieren Sie es und speichern es in einer SQL-Tabelle (im Wesentlichen eine Tabelle vom Typ [Begriff] [Anzahl]. Aktualisieren Sie den Zähler für Begriffe, die Sie bereits speichern.
Normalisieren bedeutet, es in Kleinbuchstaben umzuwandeln und so weiter - möglicherweise jeden Suchbegriff (Wort) aufzuspalten und einzeln zu speichern, wenn Ihre Lösung dies erfordert (wahrscheinlich nicht der Weg, den ich gehen würde)
2) Abrufen von Informationen in Echtzeit aus der Tabelle, basierend darauf, was der Benutzer im Suchfeld eingibt. Nehmen wir an, Sie möchten eine Art "amazon-ähnliche" - auch auf fast allen großen Suchmaschinen vorzufindende - automatische Vervollständigung. Ich implementiere diese normalerweise in einem Webservice, der dann von Ajax, JQuery oder einer beliebigen anderen Rich-Client-Implementierung aufgerufen wird, die Sie bevorzugen.
Was die Aktualisierung einer XML-Datei betrifft, denke ich, dass Sperrprobleme und Leistung diese Lösung zunichte machen würden; obwohl sie möglicherweise auf sehr kleiner Ebene funktionieren könnte.
Es tut mir leid, dass ich in meiner Antwort nicht konkreter sein kann, aber Ihre Frage ist sehr offen gehalten.