Lookups mit Funktionen
Lookups können Daten nicht nur feste Werte zuweisen, sondern können auch Funktionen für die Berechnung des Rückgabewerts verwenden. Im Suchmaschinen-Lookup wird eine Funktion verwendet, um aus dem Referrer die Suchanfrage zu extrahieren. In diesem Beispiel wird der Suchmaschinen-Lookup um eine weitere Suchmaschine erweitert. Dabei wird erklärt, wie Funktionen verwendet werden können.Über den Lookup "Suchmaschinen
Was für Suchmaschinen es gibt und wie man diese identifiziert, wird im Lookup searchengine definiert. Im folgenden soll diesem Lookup die Suchmaschine Teoma beigebracht werden. Ein Referrer den die Suchmaschine Teoma erzeugt sieht etwas vereinfacht folgendermaßen aus: http://s.teoma.com/search?q=Mescalero&qcat=1&qsrc=0&Search=submit Die Suchanfrage ist Mescalero und dieses steht im Parameter q. Diese Informationen sollen jetzt in den Lookup eingetragen werden. Öffnen Sie dazu den Lookup searchengine. Wie zu sehen ist, vergleicht der Lookup den Referrer (nachdem von diesem die Parameter abgetrennt wurden) mit den Tabelleneinträgen der ersten Spalte. Als Werte gibt er den Namen der Suchmaschine (z.B. Google), das Land (z.B. deutsch) und die Suchanfrage aus.- Fügen Sie einen neuen Eintrag hinzu.
- Setzen Sie das Vergleichsfeld auf http://s.teoma.com/search.
- Geben Sie der Suchmaschine den Namen Teoma.
- Und setzen Sie country auf international.
- Tragen Sie als Query QueryParam(referrer,"q") ein.
Funktionsweise von Lookups mit Funktionen
Das neue an diesem Lookup ist, dass er eine Funktion enthält. Die Felder Name und Country wurden wie bisher unabhängig von der Anfrage gesetzt. Das heißt, sobald die Vergleichswerte auf die Anfrage passt, kann der Wert (z.B. Google) geschrieben werden. Der Inhalt des Felds Query hängt dagegen davon ab, wie die Anfrage aussieht. Wenn der Referrer http://s.teoma.com/search?q=Mescalero&qc... ist, dann sollte Mescalero ausgegeben werden, wenn der Referrer dagegen http://s.teoma.com/search?q=Logfile&qc... ist, so sollte Logfile ins Feld searchengine.query geschrieben werden. Dies wird dadurch umgesetzt, dass das Wertefeld zuerst als Funktion markiert wird: