Um Suchergebnisse bereitzustellen, die für eine Benutzerabfrage geeignet sind, müssen Sie manchmal die Abfrage ändern. Angenommen, Sie erstellen eine Suchsparte für Bilder. Wenn jemand eine Abfrage in der Vertikale Bilder eingibt, müssen Sie die Abfrage so ändern, dass sie nur Suchergebnisse zurückgibt, die Bilder sind.
Zum Ändern einer Abfrage verwenden Sie den Abfrage-Generator, um eine Abfragetransformation zu konfigurieren. Sie können eine Abfragetransformation so konfigurieren, dass Eigenschaften einer Abfrage ersetzt werden, z. B. die Ergebnisquelle , die die Abfrage zum Abrufen von Suchergebnissen verwendet, oder die Sortierreihenfolge, die sie beim Anzeigen von Suchergebnissen verwendet. Die Transformation ersetzt auch den Text der Abfrage mithilfe einer Abfragevorlage, die Sie konfigurieren können. Die Abfragevorlage ist der Text, der den Abfragetext ersetzt, und die Vorlage kann Abfragevariablen enthalten.
Eine Abfragevariable ist ein Platzhalter für einen Wert. Wenn eine Transformation den Text einer Abfrage durch ihre Abfragevorlage ersetzt, werden auch die Abfragevariablen in der Vorlage durch bestimmte Werte ersetzt.
Eine Transformation ersetzt kontextbezogene Abfragevariablen durch Werte, die sich auf den Abfragekontext beziehen. Die folgende Tabelle enthält einige Beispiele für kontextbezogene Abfragevariablen.
Eine Transformation ersetzt diese kontextbezogene Abfragevariable. |
Mit diesem |
---|---|
{User.Name} |
Name des Benutzers, der die Abfrage eingegeben hat |
{Site.URL} |
Website, an der der Benutzer den Wert eingegeben hat |
{Heute} |
Aktuelles Datum |
Eine Transformation ersetzt gebundene Abfragevariablen durch bestimmten Text, der sich in der Abfrage des Benutzers befindet. Die folgende Tabelle enthält einige Beispiele für gebundene Abfragevariablen.
Eine Transformation ersetzt diese gebundene Abfragevariable. |
Mit diesem |
---|---|
{searchBoxQuery} |
Die Abfrage, die der Benutzer eingegeben hat |
{searchTerms} |
Die Abfrage, die der Benutzer eingegeben hat, wie durch die letzte Transformation geändert |
Sie können eine gebundene Abfragevariable verwenden, wenn Sie einer Abfrage eine Einschränkung hinzufügen, z. B. wenn Sie eine Abfrage auf einen bestimmten Inhaltstyp beschränken. Für eine vertikale Bildersuche können Sie beispielsweise eine Abfragetransformation konfigurieren, die dem Abfragetext "contenttype:picture" hinzufügt, indem Sie die Abfragevorlage "{searchTerms} contenttype:picture" verwenden. Wenn ein Benutzer die Abfrage "moon" in dieser Vertikale eingibt, ersetzt die Transformation "{searchTerms}" durch "moon". Daher ändert die Abfragetransformation die Abfrage in "moon contenttype:picture".
Sie können Abfragetransformationen an drei Stellen konfigurieren:
-
In einem Webpart, z. B. einem Suchergebnisse-Webpart. Konfigurieren Sie eine Transformation in einem Webpart, wenn Sie an anderer Stelle nicht dieselben Änderungen an Abfragen vornehmen müssen.
-
In einer Abfrageregel, die angibt, dass bestimmte Aktionen nur ausgeführt werden, wenn bestimmte Bedingungen erfüllt sind. Zwei dieser Aktionen verwenden eine Transformation, um die Abfrage zu ändern:
-
Fügen Sie auf der Suchergebnisseite einen Ergebnisblock hinzu. Durch diese Aktion wird eine Kopie der Abfrage erstellt, und ihre Transformation ändert nur die Kopie.
-
Ändern Der rangfolgerten Ergebnisse. Diese Aktion ändert die Abfrage, die der Benutzer eingegeben hat.
-
-
In der Ergebnisquelle, die von der Abfrage zum Abrufen von Suchergebnissen verwendet wird.
Eine Benutzerabfrage wird vom Webpart, dann von allen anzuwendenden Abfrageregeln und schließlich von der Ergebnisquelle transformiert. Wenn Sie eine Transformation in einer Ergebnisquelle konfigurieren, wissen Sie daher, dass die Transformationsänderungen nicht verworfen oder überschrieben werden, da die Ergebnisquelle die Abfrage zuletzt transformiert. Um beispielsweise sicherzustellen, dass eine Vertikale bildersuche nur Bilder zurückgibt, müssen Sie die entsprechende Transformation in einer Ergebnisquelle konfigurieren und dann das Webpart in der Suchsparte so konfigurieren, dass diese Ergebnisquelle verwendet wird.
Weitere Informationen finden Sie unter Übersicht über die Abfrageverarbeitung auf TechNet.