次の方法で共有


クエリ候補を管理する (SharePoint Server 2010)

 

適用先: SharePoint Server 2010

トピックの最終更新日: 2011-11-10

クエリ候補は検索候補とも呼ばれ、検索ボックス Web パーツの一覧と関連するクエリ Web パーツの検索結果ページに表示されます。クエリ時に表示されないようにクエリ候補をオフにしたり、クエリ候補を手動で作成したりすることができます。Windows PowerShell を使用して手動でクエリ候補を追加すると、新しくインストールされた検索システムのユーザーは直ちにクエリ候補を利用できるようになります。また、主要な検索用語のクエリ候補を追加して、既定の Microsoft SharePoint Server 2010 の動作を補完することもできます。このように、表示させたいが、クエリ候補を作成する検索用語をユーザーが使用していないために生成されないクエリ候補を提供できます。

クエリ候補はユーザーの検索に依存します。前に返されて 6 回以上クリックスルーされた検索クエリのみが、検索ボックス リストか関連するクエリ Web パーツに表示されます。したがって、新しく展開された SharePoint Server 2010 システムには、どちらの場所にもクエリ候補は表示されません。また、入力された語の 1 つ以上がクエリ候補に含まれている場合、そのクエリ候補は検索ボックス リストまたは関連するクエリ Web パーツにのみ表示されます。

クエリ候補が検索ボックスに表示される方法を設定できます。設定には、[検索ボックス Web パーツ] メニューの [クエリ候補] ノードを使用します。検索ボックス Web パーツの詳細については、「検索ボックス Web パーツのプロパティを変更する (SharePoint Server 2010)」を参照してください。

他の Web パーツを構成する方法と同じ方法で、検索結果ページの関連するクエリ Web パーツを構成できます。さらに以下を構成することもできます。

  • クエリ候補の結果 - [1 ページに表示する結果の数]、[概要の文字数] を設定でき、XLS エディターとパラメーター エディターにアクセスすることができます。

  • 結果のクエリ オプション - 検索語句のステミングを有効/無効にすることができます。

クエリ候補を構成する方法

クエリ候補は、時間の経過とともに、結果のクリックスルーが所定の回数に達したすべてのクエリに対して自動作成されます。既定では、ユーザーが 6 回クリックスルーすると、クエリ候補が作成されます。候補の集計は、サーバーの全体管理のクエリ候補の準備タイマー ジョブが行います。このジョブは、毎日 1 回実行するようにスケジュールされています。既定では、クエリ候補はオンに設定されています。この機能を無効にしたり、既定の設定を変更したりするには、検索ボックス Web パーツを編集します。

[検索ボックス Web パーツ] メニューでクエリ候補をオフにしても、関連する結果は、関連するクエリ Web パーツの検索結果ページに引き続き表示されます。

クエリ候補を構成するには

  1. この手順を実行しているユーザー アカウントが、検索センター サイトのサイト所有者であることを確認します。

  2. 検索センター サイトのホーム ページで、[サイトの操作] メニューをクリックし、[ページの編集] をクリックします。

  3. [検索ボックス Web パーツ] メニューの [Web パーツの編集] をクリックします。

  4. [クエリ候補] ノードを展開します。

  5. [クエリ候補の表示] ボックスがオンになっていることを確認します。クエリ候補をオフにする場合は、[クエリ候補の表示] ボックスをオフにします。

  6. 必要に応じて、以下の設定を変更します。

    • [最小プレフィックス長]: クエリ候補が表示されるまでにユーザーが入力する文字数

    • [候補取得までの待機時間 (ミリ秒)]: クエリ候補が表示されるまでのミリ秒単位の経過時間

    • [表示する候補の数]: 一覧に表示するクエリ候補の数

  7. [OK] をクリックします。

Windows PowerShell を使用してクエリ候補を作成する方法

以下の手順では、Windows PowerShell を使用して、新しく展開した SharePoint Server 2010 インストールのクエリ候補を手動で作成する方法を示します。検索の利用状況に依存しない候補のリストを追加する場合は、この手順を使用して、クエリ候補を既存の SharePoint Server 2010 インストールに追加することもできます。これらのクエリ候補は、検索ボックスの下と関連するクエリ Web パーツに表示されます。この手順を使用して作成したクエリ候補は、コマンドを実行後直ちに表示されます。

手動でクエリ候補を作成するには

  1. 次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 製品] をクリックします。

  4. [SharePoint 2010 管理シェル] をクリックします。

  5. Windows PowerShell のコマンド プロンプトで、次のコマンドを入力します。

    現在の検索サービス アプリケーションを取得します。

    $searchapp = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"
    

    現在のすべてのクエリ候補を表示します。

    Get-SPEnterpriseSearchQuerySuggestionCandidates -SearchApplication $searchapp
    

    クエリ候補を追加します。

    New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -<Language ID> -Type QuerySuggestionAlwaysSuggest -Name "<Suggestion>"
    

    クエリ候補の準備タイマー ジョブを実行します。

    Start-SPTimerJob -Identity "prepare query suggestions"
    

    クエリ候補を削除します。

    Remove-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language <Language ID> -Type QuerySuggestionAlwaysSuggest -Identity "<Suggestion>"
    
  6. 追加するクエリ候補ごとに、New-SPEnterpriseSearchLanguageResourcePhrase コマンドレットを繰り返します。必要なクエリ候補をすべて追加したあとのみ、Start-SPTimerJob コマンドレットを実行することをお勧めします。

複数のクエリ候補を追加する例

次の例は、"test" という文字がすべてのクエリ候補に含まれているクエリ候補のグループを追加する方法を示しています。

$searchapp = Get-SPEnterpriseSearchServiceApplication -Identity "<SearchServiceApplicationName>"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "refinement test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test case"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test case alpha"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test case beta"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "really long query suggestion test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "tester"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test refinement cases"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test short"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test shorty"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "short"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "acceptance test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "ecm test"
New-SPEnterpriseSearchLanguageResourcePhrase -SearchApplication $searchapp -Language En-Us -Type QuerySuggestionAlwaysSuggest -Name "test three"
Start-SPTimerJob -Identity "prepare query suggestions"