SharePoint Server でクエリ ルールを管理する
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
カスタム コードを使用せずに、Search サービス アプリケーション管理者、サイト コレクション管理者、またはサイト所有者は、クエリ ルールを作成して管理することで、従来の検索結果を改善できます。 クエリ ルールは、検索がユーザーの意図に応答するのに役立ちます。
クエリ ルールでは、条件とそれに関連付けられたアクションを指定します。 クエリがクエリ ルールの条件を満たす場合、検索システムはルールに指定されているアクションを実行し、結果を絞り込んだり、結果の表示順序を変更したりして、検索結果の関連性を向上させます。 たとえば、クエリ内の用語が SharePoint Server 用語セットの特定の用語と一致すること、検索システム内でビデオなどの特定の検索先に関するクエリが頻繁に実行されていることをクエリ ルールの条件として指定できます。 クエリ ルールの条件が満たされた場合の関連アクションとして、特定のアイテムを検索結果の最上位に表示することを指定できます。
1 つ以上の検索先に対するクエリ ルールを構成できるほか、クエリ ルールがアクティブな期間を指定できます。
注:
クエリ ルールは、次の場合に SharePoint Server 2019 の 最新 の検索エクスペリエンスにも影響します。
- ルールのアクションは、検索結果の先頭に個々の結果を昇格することです。
- ルールは、既定の結果ソースに対して定義されます。
- ルールは、Search サービス アプリケーション レベルで定義されます。
ユーザーは、次の場合にのみ最新の検索エクスペリエンスでこのような昇格された結果を表示します。
- すべての SharePoint で結果を検索しました。
- 検索結果ページは、 すべての結果の種類 (既定のビュー) にフィルター処理されます。
SharePoint Server ファーム内のさまざまなレベルでクエリ ルールを作成する
クエリ ルールは、Search Service アプリケーション、サイト コレクション、またはサイトに対して作成できます。 次の表に、それぞれの場合でクエリ ルールの作成に必要なアクセス許可、およびクエリ ルールを使用できる場所を示します。
クエリ ルールのレベルおよびアクセス許可
クエリ ルールを作成するレベル | 必要なアクセス許可 | クエリ ルールを使用できる場所 |
---|---|---|
Search Service アプリケーション |
Search Service アプリケーションの管理者 |
Search Service アプリケーションを使用する Web アプリケーション内のすべてのサイト コレクション |
サイト コレクション |
サイト コレクションの管理者 |
サイト コレクション内のすべてのサイト |
サイト |
サイト所有者 |
サイト |
クエリ ルールを追加または編集するには、[ クエリ ルールの管理] ページに移動する必要があります。 クエリ ルールを作成するレベルに応じて、以下のいずれかの手順を使用して、[ クエリ ルールの管理] ページに移動します。
Search Service アプリケーションの [クエリ ルールの管理] ページに移動するには
この手順を実行するユーザー アカウントが Search Service アプリケーションの管理者であることを確認します。
サーバーの全体管理の [ アプリケーション構成の管理] セクションで、[ サービス アプリケーションの管理] をクリックします。
クエリ ルールの追加先の Search Service アプリケーションをクリックします。
Search Service アプリケーションの [検索管理] ページのサイド リンク バーで、[ クエリと結果] セクションの [ クエリ ルール] をクリックします。
サイト コレクションの [クエリ ルールの管理] ページに移動するには
この手順を実行するユーザーのアカウントがサイト コレクションの管理者であることを確認してください。
サイト コレクションの [ 設定] メニューで、[ サイトの設定] をクリックします。
[ サイトの設定] ページの [ サイト コレクションの管理] セクションで、[ 検索クエリ ルール] をクリックします。
サイトの [クエリ ルールの管理] ページに移動するには
この手順を実行するユーザー アカウントがサイトの所有者グループのメンバーであることを確認します。
サイトの [ 設定] メニューで、[ サイトの設定] をクリックします。
[ サイトの設定] ページの [ サイト の管理] セクションで、[ クエリ ルール] をクリックします。
クエリ ルールを作成する
このクエリ ルールの検索先を指定します。 [クエリ ルールの管理] ページで、 [検索先の選択] メニューを使用します。
[新しいクエリ ルール] をクリックします。
クエリ ルールに名前を付けます。 [クエリ ルールの追加] ページの [ルール名] フィールドを使用します。
必要に応じて、このルールを特定の検索先に対して実行されるクエリに制限します。 [コンテキスト] セクションをクリックして展開し、 [クエリはこれらのソースで実行されます] で次のいずれかを選択します。
クエリ ルールをすべての検索先に適用するには、[すべてのソース] を選択します。
クエリ ルールを 1 つ以上の特定の結果ソースに制限するには、 これらのソースの 1 つを選択します。 既定では、手順 1 で指定した結果ソースが選択されています。
- 必要に応じて、クエリ ルールを特定のカテゴリに制限します (たとえば、管理ナビゲーション用語セットの用語がクエリに含まれる場合にのみクエリ ルールを適用)。 [コンテキスト] セクションの [クエリはこれらのカテゴリから実行されます] で、次のいずれかを選択します。
クエリ ルールを特定のカテゴリに制限するには、 [これらのカテゴリのいずれか] をクリックし、カテゴリを追加します。 [ 分類からインポート ] ダイアログで、クエリに含めるとクエリ ルールが起動する用語を選択し、[ 保存] をクリックします。
すべての制限を削除するには、[すべてのカテゴリ] をクリックします。
- 必要に応じて、特定のユーザー セグメントで実行されるようにルールを制限します。 [コンテキスト] セクションの [クエリはこれらのユーザー セグメントごとに実行されます] で、次のいずれかを選択します。
クエリ ルールを特定のユーザー セグメントに制限するには、 [これらのユーザー セグメントのいずれか] をクリックし、ユーザー セグメントを追加します。 ユーザー セグメントのタイトルを入力してから、 [ユーザー セグメントの用語を追加します] をクリックします。 [ 分類からインポート ] ダイアログで、クエリに含めるとクエリ ルールが起動する用語を選択し、[ 保存] をクリックします。
すべての制限を削除するには、[すべてのユーザー セグメント] をクリックします。
- このルールをクエリに適用する条件を指定します。 複数の条件を指定して、いずれかの条件に該当する場合にルールを適用することができます。 [クエリの条件] セクションで、次のいずれかの操作を行います。
[クエリ ルールを適用する条件の概要] に一覧表示されている条件のいずれかを選択します。
代替条件を追加します。
作成しているルールの対象となるレベルでユーザーが入力するすべてのクエリに対してこのクエリ ルールを適用するように構成するには、 [条件の削除] をクリックします。 たとえば、このルールをサイト コレクションに対して作成している、そのサイト コレクション内の検索ボックスにユーザーが入力したすべてのクエリに対してこのルールを適用する場合には、 [条件の削除] をクリックします。
- クエリ ルールが適用された場合に実行するアクションを指定します。 [アクション] セクションでは、次のアクションを指定できます。
検索結果の上位に表示されるよう、個々の検索結果を昇格します。 昇格した個々の結果をいくつか追加することができます。 複数の結果を昇格する場合、相対的なランクを指定できます。 結果を昇格するには、 [昇格した結果の追加] をクリックします (SharePoint 2010 製品 では、これは「おすすめコンテンツ」と呼ばれていました)。 [ 昇格された結果の追加 ] ダイアログで、昇格した結果に名前を付け、昇格する結果の URL を入力します。 ハイパーリンクとしてではなく、バナーとして URL が表示されるように定義できます。
検索結果のグループを昇格するには、 [結果のブロックを追加] をクリックします。 詳細については、この記事の後半の「結果ブロックを作成して表示する」を参照してください。
ランク付けされた検索結果を変更するには、 [クエリの変更によるランク付けされた結果の変更] をクリックします。 詳細については、この記事の後半の「ランク付けされた検索結果を変更する」を参照してください。
- 特定の期間にクエリ ルールをアクティブにするには、[発行] をクリックし、期間を指定します。
クエリ ルールを摘要する条件の概要
クエリの条件 | 説明 | 構成 | 例 |
---|---|---|---|
キーワードに正確に一致するクエリ |
指定した単語または語句とクエリが正確に一致する場合にクエリ ルールを適用するには、このオプションを選択します。 |
[ クエリには、これらの語句のいずれかが含まれます] テキスト ボックスに、1 つ以上の語句をセミコロンで区切って入力します。 |
[ クエリには、これらの語句のいずれかが含まれます] ボックスに「picture; pic」と入力します。 ユーザーが検索ボックスに「picture」または「pic」と入力した場合、クエリ ルールが適用されます。 ユーザーが「pictures」または「sunny picture」と入力してもルールは適用されません。 |
クエリにアクション用語を含める |
ユーザーが望む動作を示す用語がクエリに含まれている場合にクエリ ルールを適用するには、このオプションを選択します。 用語はクエリの先頭または末尾に配置する必要があります。 |
アクション用語として、入力した語句のいずれかを指定できます。 または、用語をインポートした辞書のエントリをアクション用語にすることもできます。 |
[ アクション用語はこれらの語句の 1 つです] テキスト ボックスに「ダウンロード」という単語を入力します。 ユーザーが検索ボックスに 「download Contoso Electronics データシート」と入力した場合、ユーザーは"download"、"Contoso"、"Electronics"、"データシート" という単語を含むドキュメントを検索していない可能性があります。代わりに、ユーザーはおそらく Contoso Electronics データシートをダウンロードしようとしています。 ユーザーが検索ボックスに「ダウンロード Contoso Electronics データシート」と入力した場合、クエリルールが適用され、単語「Contoso」、「Electronics」、および「データシート」のみが検索インデックスに渡されます。 |
辞書に正確に一致するクエリ |
辞書のエントリとクエリが正確に一致する場合にクエリ ルールを適用するには、このオプションを選択します。 |
From the ** Query contains an entry in this dictionary ** menu, select a dictionary. 別のディクショナリを指定するには、[ 分類からインポート] をクリックし、[ 分類からインポート ] ダイアログで用語セットから用語を選択し、[ 保存] をクリックします。 |
検索ボックスにユーザーが入力した単語が、事前構成された個人名の辞書のエントリと一致します。 |
ソースでよく使用されるクエリ |
指定した別の検索先でクエリが頻繁に発行されている場合にクエリ ルールを適用するには、このオプションを選択します。 |
[ クエリはこのソースでよく使用されます] メニューで、検索先を選択します。 |
[ クエリはこのソースでよく使用されます] メニューで、[ ローカル ビデオの結果] を選択します。 ユーザーが検索ボックスに「training」という単語を入力し、その単語が、ビデオ バーティカルの検索ボックスに頻繁に入力されたものである場合、クエリ ルールが適用されます。 |
よくクリックされる結果の種類 |
他のユーザーが同じクエリを入力した後に特定の結果の種類を頻繁にクリックしていた場合にクエリ ルールを適用するには、このオプションを選択します。 |
[ よくクリックされる結果と一致する結果の種類] メニューで、結果の種類を選択します。 |
[ よくクリックされる結果と一致する結果の種類] ボックスで [ SharePoint ミニブログの投稿] を選択します。 ユーザーが検索結果内のミニブログを頻繁にクリックしている場合、[ アクション] セクションで、最も新しいミニブログ投稿を 1 番目の昇格した結果として構成し、その次に新しいミニブログ投稿を 2 番目の昇格した結果として構成することをお勧めします。 |
詳細なクエリ テキスト照合 |
正規表現、語句、または辞書エントリを使用してクエリ ルールを適用する場合、このオプションを選択します。 |
特定の形式のすべての電話番号と照合するには、[ クエリはこの正規表現と照合します] ボックスに正規表現を指定します。 |
nnn-nnn-nnnn 形式のすべての電話番号を照合するには、正規表現 "(?(\d{3})))?-?(\d{3})-(\d{4})" |
結果ブロックを作成して表示する
結果ブロックとはグループとして表示される複数の検索結果です。 たとえば、「Fabrikam 営業レポート」を含むクエリでは、クエリ ルールで分類辞書を使用して「Fabrikam」を顧客として認識し、顧客関係管理 (CRM) システムから「Fabrikam」に関連する結果の結果ブロックを表示できます。
特定の結果を昇格する場合と同じように、指定したクエリ条件が適用された場合に結果ブロックを昇格できます。
結果ブロックに対して実行するクエリを構成する場合、クエリ変数を使用できます。 クエリ変数とは、クエリを指定するときには未知である値のプレースホルダーです。 ただし、クエリが実行されると、この情報は既知になり、システムでクエリがインデックスに送信されるときにこの情報を使用できます。 たとえば、クエリを入力したユーザーの表示名を表す {User.Name} や、ユーザーが検索ボックスに入力したクエリを表す {searchBoxQuery} があります。 使用可能なクエリ変数の一覧については、「Query variables in SharePoint Server」を参照してください。
クエリ変数を使い慣れていない場合は、クエリ ビルダーを使用してクエリを構成できます (次の手順のステップ 3 を参照)。
結果ブロックを作成するには
前の手順の手順 8. において、[ クエリ ルールの追加] ページの [ アクション] セクションで、[ 結果のブロックを追加] をクリックします。
[ブロックのタイトル] セクションの [タイトル] フィールドに、結果ブロックに表示するタイトルを入力します。 関連する言語ごとにタイトルを入力します。
ブロックの検索結果を返すクエリを構成します。 [クエリ] セクションで、 [クエリ ビルダーを起動します] をクリックし、 [基本] タブで次の操作を行います。
検索するコンテンツを選択するために、 [クエリの選択] セクションで、ドロップダウン リストから検索先を選択します。
[クエリ テキスト] ボックスに、クエリを指定します。 [キーワード フィルター] ドロップダウン リストから定義済みのクエリ変数を選択したうえで、 [キーワード フィルターの追加] をクリックすることで、 [クエリ テキスト] ボックスにクエリに追加できます。
必要に応じて、プロパティ フィルターを使用することで、検索スキーマでクエリ可能に設定されている管理プロパティのコンテンツを照会できます。 [プロパティ フィルター] ドロップダウン リストから、管理プロパティを選択できます。 [プロパティ フィルターの追加] をクリックして、フィルターをクエリに追加します。
クエリをテストするには、[クエリのテスト] をクリックします。
検索結果を結果ブロックの中でどのように並び替えるのかを指定します。 検索結果の並べ替えは、 大文字小文字を区別 します。 [並べ替え] タブで、 [並べ替え基準] ドロップダウン リストから管理プロパティを選択したうえで、 [降順] または [昇順] を選択します。 一覧に表示されるのは、検索スキーマで並べ替え可能に設定されている管理プロパティだけです。 ランクを基準に並べ替えることもできます。 並べ替えレベルをさらに追加するには、 [並べ替えレベルの追加] をクリックします。
ランクを基準に並べ替えるには、オプションで次の操作を実行します。
検索結果のランク付けに使用するモデルを選択します (この選択はオプションです)。 [ランク付けモデル] ドロップダウン リストを使用します。
結果の順序を動的に変更するためのルールを定義します。 [動的順序付け] セクションで、ドロップダウン リストからランク付けを変更する条件を選択したうえで、その条件に該当する場合に結果を 昇格 するか 降格 するかを選択し、いつランク付けを変更するかを定義します。 さらにルールを追加するには、 [動的順序付けルールの追加] をクリックします。
- [ テスト ] タブで、コンテンツ検索 Web パーツによって実行される最終的なクエリをプレビューします。プレビューは、動的変数が現在の値に置き換わる元のクエリ テンプレートに基づいています。 クエリに他の変更を加える場合は、クエリ ルールの一部として行う必要があります。 追加情報を表示するには、[詳細を表示] をクリックします。
[クエリ テンプレート] ボックスに、クエリに適用されるクエリ テンプレートのコンテンツが表示されます。
[ クエリ テンプレート変数] セクションには、クエリに適用されるクエリ変数と、現在のページに適用されている変数の値が表示されます。 ほかの値を入力すると、クエリに与える影響をテストできます。 [ テスト クエリ] ボタンをクリックすると、検索結果のプレビューが表示されます。
この結果ブロックを適用する検索先を定義します。 [クエリ] セクションの [このソースを検索] ドロップダウン リストを使用します。
結果ブロックに表示する結果の数を定義します。 [クエリ] セクションの [アイテム] ドロップダウン リストを使用します。
結果ブロックには、前の手順で指定した検索結果数のみが表示されます。 ただし、結果ブロックの下部に [表示数を増やす] リンクを追加すると、結果ブロックのすべての検索結果を表示できます。 [表示数を増やす] リンクを追加するには、 [設定] セクションを展開し、 [[詳細] リンクを選択すると、次の URL に移動します] を選択し、URL を入力します。 この URL では、クエリ変数 (たとえば、 http://www.<site>/search/results.aspx?k={subjectTerms} など) を 使用できます。
[ ルーティング] セクションをスキップします。
[OK] をクリックします。
ランク付けされた検索結果を変更する
ランク付けモデルでは、検索結果のランク付け順序が計算されます。 検索結果内のアイテムを昇格または降格することで、このランク付けを変更できます。 たとえば、"ダウンロード ツールボックス" を含むクエリの場合、"ダウンロード" という単語をアクション用語として認識するクエリ ルールを作成し、ランク付けされた検索結果を変更して、イントラネットの特定のダウンロード サイトの URL を昇格できます。 また、ファイル名拡張子、特定のキーワードなど、いくつかの変数に基づいて、検索結果の並べ替え順序を動的に変更することもできます。 クエリを変更することで、ランク付けされた検索結果を変更する方法は、結果がセキュリティによって適切にトリミングされる点、および結果を絞り込みできるという点で利点があります。 また、ドキュメントが利用不可になった場合に、検索結果は表示されなくなります。
クエリを変更して、ランク付けされた検索結果を変更するには
「クエリ ルールを作成する」の手順 8 で、 [クエリ ルールの追加] ページの [アクション] セクションにある [クエリの変更によるランク付けされた結果の変更] をクリックします。 [ クエリの作成 ] ダイアログが表示されます。
[基本] タブで、次の操作を行います。
検索するコンテンツを選択するために、 [クエリの選択] セクションで、ドロップダウン リストから検索先を選択します。
[クエリ テキスト] ボックスに、クエリを指定します。 [キーワード フィルター] ドロップダウン リストから定義済みのクエリ変数を選択したうえで、 [キーワード フィルターの追加] をクリックすることで、 [クエリ テキスト] ボックスにクエリに追加できます。
必要に応じて、プロパティ フィルターを使用することで、検索スキーマでクエリ可能に設定されている管理プロパティのコンテンツを照会できます。 [プロパティ フィルター] ドロップダウン リストから、管理プロパティを選択できます。 [プロパティ フィルターの追加] をクリックして、フィルターをクエリに追加します。
クエリをテストするには、[クエリのテスト] をクリックします。
検索結果を結果ブロックの中でどのように並び替えるのかを指定します。 検索結果の並べ替えは、 大文字小文字を区別 します。 [並べ替え] タブで、 [並べ替え基準] ドロップダウン リストから管理プロパティを選択したうえで、 [降順] または [昇順] を選択します。 一覧に表示されるのは、検索スキーマで並べ替え可能に設定されている管理プロパティだけです。 ランクを基準に並べ替えることもできます。 並べ替えレベルをさらに追加するには、 [並べ替えレベルの追加] をクリックします。
ランクを基準に並べ替えるには、オプションで次の操作を実行します。
検索結果のランク付けに使用するモデルを選択します (この選択はオプションです)。 [ランク付けモデル] ドロップダウン リストを使用します。
結果の順序を動的に変更するためのルールを定義します。 [動的順序付け] セクションで、ドロップダウン リストからランク付けを変更する条件を選択したうえで、その条件に該当する場合に結果を 昇格 するか 降格 するかを選択し、いつランク付けを変更するかを定義します。 さらにルールを追加するには、 [動的順序付けルールの追加] をクリックします。
- [ テスト ] タブで、コンテンツ検索 Web パーツによって実行される最終的なクエリをプレビューします。プレビューは、動的変数が現在の値に置き換わる元のクエリ テンプレートに基づいています。 クエリに他の変更を加える場合は、クエリ ルールの一部として行う必要があります。 追加情報を表示するには、[詳細を表示] をクリックします。
[クエリ テンプレート] ボックスに、クエリに適用されるクエリ テンプレートのコンテンツが表示されます。
[ クエリ テンプレート変数] セクションには、クエリに適用されるクエリ変数と、現在のページに適用されている変数の値が表示されます。 ほかの値を入力すると、クエリに与える影響をテストできます。 [テスト クエリ] ボタンをクリックすると、検索結果のプレビューが表示されます。
クエリ ルールを非アクティブにする
Search Service アプリケーション レベルで作成されたクエリ ルールは、Search Service アプリケーションを使用する Web アプリケーション内のサイト コレクションおよびサイトに継承されます。 同様に、サイト コレクション レベルで作成されたクエリ ルールは、サイト コレクション内のサイトに継承されます。 クエリ ルールが継承されるサイトにクエリ ルールを適用する必要がない場合、そのサイトに対してクエリ ルールを非アクティブとして設定できます。
サイトでクエリ ルールを非アクティブにするには
この手順を実行するユーザー アカウントが、サイトの Owners グループのメンバーであることを確認します。
サイト コレクションの [ 設定] メニューで、[ サイトの設定] をクリックします。
[ サイトの設定] ページの [ 検索] セクションで、[ クエリ ルール] をクリックします。
[ クエリ ルールの管理] ページの [ 検索先の選択] メニューで、非アクティブにするクエリ ルールが含まれる検索先を選択します。
[ 名前] 列で、非アクティブにするクエリ ルールをポイントし、表示される矢印をクリックして、[ 非アクティブにする] をクリックします。
クエリ ルールをランク付けする
1 つの Search Service アプリケーション、サイト コレクション、またはサイトに対して複数のクエリ ルールがアクティブになっている場合、各レベルで実行されるクエリに対して複数のルールを適用できます。 既定では、ルールは、定められた順序で適用されません。 ルールの適用順序を制御するには、作成したクエリ ルールをクエリ グループに追加します。 これを行うには、グループに追加するルールを選択し、ルールが起動された場合のグループ内でのルールの適用順序を指定します。 また、グループ内で最低ランクのクエリ ルールを、そのクエリ ルールが起動された場合も、適用しないようにすることができます。
サイト コレクションのクエリ ルールをランク付けするには
この手順を実行するユーザーのアカウントがサイト コレクションの管理者であることを確認してください。
サイト コレクションの [ 設定] メニューで、[ サイトの設定] をクリックします。
[ サイトの設定] ページの [ サイト コレクションの管理] セクションで、[ 検索クエリ ルール] をクリックします。
[ クエリ ルールの管理] ページの [ 検索先の選択] メニューで、グループ化するクエリ ルールが含まれる検索先を選択します。
作成したクエリ ルールのうちグループに追加するクエリ ルールごとに、ルールをポイントし、チェック ボックスをオンにします。
注:
このサイト コレクションに対して作成したクエリ ルールは、[ このサイト コレクションに対する定義] セクションに表示されます。
[ 選択したルールを整理] をクリックします。
[ 選択したルールの順序] ダイアログで、次のいずれかの操作を行い、[OK] をクリック します。
[ ルールをこの名前の新しいグループに移動する] を選択し、グループの名前を入力します。
[ ルールを既存のグループに移動する] を選択し、ドロップダウン リストでグループを選択します。
[ クエリ ルールの管理] ページで、以下の手順を実行します。
ルールが起動された場合のグループ内のルールの適用順序を変更するには、ルールの順序を示す数値を変更します。
グループ内の最低ランクのクエリ ルールを適用しないようにするには、グループで最後に適用する必要があるクエリ ルールの行の [ アクション] 列で、[ 続行/停止] ドロップダウン リストの [ 停止] を選択します。