概要
ナレッジ ベースの価値は、目的の項目をどれだけ速く見つけられるかで決まります。Questions and Answers には、そのための 2 つの仕組みがあります。サーバー上でリスト全体を照会する検索ボックスと、数百件の質問があるページでも高速に表示できるページ単位の読み込みです。この記事では、編集者と管理者向けに両方を説明します。何が検索されるのか、ページはどのように取得されるのか、カテゴリや並べ替えとどのように連携するのか、リストが大きくなったときに何を考慮すべきか、です。設定はプロパティ ペインの Behavior (動作) グループと Appearance (表示) グループにあります。手順については KB10218. Questions and Answers Web パーツの追加と構成方法を参照してください。
検索ボックス
検索ボックスは、Behavior グループの Enable search box (検索ボックスを有効にする) がオンのときに表示されます (既定ではオン)。閲覧者が語句を入力して Enter キーを押すと、Web パーツは SharePoint リストにクエリを送信し、一致する公開済みの質問を表示します。
| 項目 | 動作 |
|---|---|
| 検索対象の列 | Question (質問、タイトル)、Answer (回答)、Contact (連絡先、担当者の名前) |
| 一致条件 | Contains (含む) — 語句がテキスト内のどこにあっても一致します。大文字と小文字は区別されません |
| 範囲 | リスト全体。ページにすでに読み込まれている質問だけではありません |
| 複数の単語 | 入力した順序のまま、1 つの語句として検索されます |
| 特殊文字と言語 | 引用符、アンパサンド、山かっこ、非ラテン文字は正しく処理されます。語句は送信前にエスケープされます |
| 未公開の質問 | 編集者に対しても返されません |
| 結果の上限 | 1 回の応答で最大 5,000 件の一致する質問 |
クエリは SharePoint がサーバー上で実行します (3 つの列に対する CAML の Contains 条件)。そのため SharePoint の検索インデックスには依存しません。1 分前に公開された質問もすぐに見つかり、リストが検索クロールから除外されていても (Web パーツが作成したリストはそうなっています) 問題ありません。
クエリの実行中、Web パーツには Searching … (検索中...) と表示されます。一致するものがない場合は、Nothing here matches your search (検索に一致するものがありません) と表示され、全体の一覧に戻す Clear search query (検索クエリのクリア) アクションが提示されます。検索ボックスの ✖ も同じ働きをします。

検索の対象にならないもの: 添付ファイルとその内容、コメント、詳細リンク、動画のアドレス、カテゴリ名。カテゴリを探す閲覧者は、代わりにカテゴリ タブを使用します。
💡 ヒント
Answer のテキストも検索対象になるため、質問のキーワードと、人々がそのトピックについて実際に使う言葉を繰り返した短い回答は、簡潔すぎる回答よりも見つけられやすくなります。自然に読める範囲で、回答に同義語を加えてください (「休暇、休み、年次有給休暇」など)。
ページ単位の読み込み
Appearance グループの Page Size (ページ サイズ) は、一度に読み込む質問の数を制御します。All (すべて)、10、20、50、100 から選択します。新しい Web パーツは 20 で始まります。このオプションが追加される前に構成された Web パーツは All のままです。
ページ サイズが設定されていると、Web パーツは構成された並べ替え順で最初の分を読み込み、さらに質問がある限り、一覧の下に Show more (詳細表示) ボタンを表示します。クリックするたびに次の分が読み込まれて追加され、最後の分の後にボタンは消えます。読み込み中は、ボタンの代わりにスピナーが表示されます。

ページングについて知っておくべき特性が 3 つあります。
- 並べ替えはサーバー上で行われます。 Sort by (最優先されるキー) の列 (Name、Question Order、Created) と方向はクエリの一部なので、順序はページをまたいで一貫しています。2 ページ目の質問は常に 1 ページ目の質問の後に続きます。
- ページは SharePoint のページです。 Web パーツはリスト自身のページング機能を使用するため、ページ サイズ 100 でも、100 アイテムのリスト ビューと同じ効率で取得されます。
- ディープ リンクは対象の質問を読み込みます。 ページが
?questionId=Nで開かれ、その質問が最初の分に含まれていない場合、Web パーツはその質問を個別に取得し、最初の分と一緒に強調表示して表示します。
All では、Web パーツはリスト全体を 1 回のクエリで要求します。上限は 5,000 件です。
検索、カテゴリ、ページングの相互作用
- 検索はページングを無視します。 検索はリスト全体を照会し、すべての一致 (最大 5,000 件) を 1 回で表示します。検索中は Show more は非表示になります。検索をクリアすると、ページ単位の一覧に戻ります。
- カテゴリ タブは読み込まれた質問を反映します。 Category Filter (カテゴリ フィルター) の行には、現在読み込まれている質問のカテゴリが表示されます。ページングを使用している場合、最初の質問が後のページにあるカテゴリは、Show more でそれが読み込まれた後に初めて表示されます。読み込み速度よりタブが重要なナレッジ ベースでは、All または大きなページ サイズを使用するか、カテゴリがページ間で混在するように Name で並べ替えてください。
- グループ化は読み込まれた分の中で適用されます。 Group By → Category では、読み込まれた質問が見出しの下にグループ化され、次の分も同じグループに統合されます。
- 検索結果はカテゴリ タブを尊重します。 カテゴリが選択された状態で検索を実行すると、そのカテゴリに一致する質問が表示されます。選択したカテゴリに一致がない場合、フィルターは All に戻ります。
大規模なリスト
SharePoint Online は、クエリに 5,000 アイテムのリスト ビューのしきい値を適用します。Questions and Answers はすべてのクエリを Published = Yes でフィルターし、選択した列で並べ替えるため、次のことが成り立ちます。
- 数千件までの質問であれば、どの Page Size でもすべて正常に動作します。
- しきい値を超えると、インデックスのない列に対するクエリが SharePoint によって拒否されることがあります。ナレッジ ベースが 5,000 アイテムに近づいたら、リストの設定で Published、Order、Created の各列にインデックスを追加し、All よりもページ サイズの指定を優先してください。
- All モードと検索結果の 5,000 件の上限は、単一クエリのハード リミットです。その規模のナレッジ ベースは、1 つにまとめるより、複数のリストと Web パーツ (たとえば部門ごと) に分割する方が適しています。
実際には、50 件から 500 件の質問からなるナレッジ ベースが一般的です。ページ サイズを 20 から 50 にして検索ボックスをオンにすると、初回表示の速さと一覧の見やすさの最良のバランスが得られます。