ユーザー クエリに適した検索結果を提供するには、クエリを変更する必要がある場合があります。 たとえば、図の垂直方向の検索を作成するとします。 他のユーザーが [図] 縦型にクエリを入力する場合は、そのクエリを変更して、Pictures である検索結果のみを返すようにする必要があります。
クエリを変更するには、クエリ ビルダーを使用してクエリ変換を構成します。 クエリのプロパティ (クエリが検索結果を取得するために使用する 結果ソース 、検索結果を表示するときに使用する並べ替え順序など) を置き換えるクエリ変換を構成できます。 変換では、構成できるクエリ テンプレートを使用して、クエリのテキストも置き換えられます。 クエリ テンプレートはクエリ テキストを置き換えるテキストであり、テンプレートにはクエリ変数を含めることができます。
クエリ変数は、値のプレースホルダーです。 変換によってクエリのテキストがクエリ テンプレートに置き換えられると、テンプレート内のクエリ変数も特定の値に置き換えられます。
変換は、コンテキスト クエリ変数をクエリ コンテキストに関連する値に置き換えます。 次の表に、コンテキスト クエリ変数の例をいくつか示します。
変換は、このコンテキスト クエリ変数を置き換えます |
このパワフルな |
---|---|
{User.Name} |
クエリを入力したユーザーの名前 |
{Site.URL} |
ユーザーが値を入力したサイト |
{Today} |
今日の日付 |
変換は、バインドされたクエリ変数を、ユーザーのクエリ内にある特定のテキストに置き換えます。 バインドされたクエリ変数の例を次の表に示します。
変換は、このバインドされたクエリ変数を置き換えます |
このパワフルな |
---|---|
{searchBoxQuery} |
ユーザーが入力したクエリ |
{searchTerms} |
最新の変換によって変更された、ユーザーが入力したクエリ |
クエリを特定のコンテンツ タイプに制限する場合など、クエリに制限を追加するときに、バインドされたクエリ変数を使用できます。 たとえば、図の垂直方向の検索では、クエリ テンプレート "{searchTerms} contenttype:picture" を使用して、クエリ テキストに "contenttype:picture" を追加するクエリ変換を構成できます。 ユーザーがその垂直にクエリ "moon" を入力した場合、変換は "{searchTerms}" を "moon" に置き換えます。 したがって、クエリ変換によってクエリが "moon contenttype:picture" に変更されます。
クエリ変換は、次の 3 つの場所で構成できます。
-
検索結果 Web パーツなどの Web パーツ。 他の場所のクエリに同じ変更を加える必要がない場合は、Web パーツで変換を構成します。
-
クエリ ルールでは、特定の条件が満たされた場合にのみ特定のアクションを実行することを指定します。 次の 2 つのアクションでは、変換を使用してクエリを変更します。
-
検索結果ページに結果ブロックを追加します。 このアクションによってクエリのコピーが作成され、その変換によって変更されるのはコピーだけです。
-
ランク付けされた結果を変更します。 このアクションにより、ユーザーが入力したクエリが変更されます。
-
-
クエリが検索結果を取得するために使用する結果ソース。
ユーザー クエリは、Web パーツによって変換された後、適用されるすべてのクエリ ルールによって変換され、最後に結果ソースによって変換されます。 したがって、結果ソースで変換を構成する場合、変換の変更は破棄またはオーバーライドされないことがわかっています。これは、結果ソースが最後にクエリを変換するためです。 たとえば、画像検索の垂直方向で画像のみが返されるようにするには、結果ソースで適切な変換を構成し、その結果ソースを使用するように検索バーティカルで Web パーツを構成します。
詳細については、「TechNet での クエリ処理の概要 」を参照してください。