チュートリアル: グローバル検索に対する追加テーブルを構成する
概要
検索機能に対して追加テーブルを有効にすることができます。 追加テーブルの検索を構成するには、この記事で説明する追加のアクションが必要です。 これらの明示的な構成手順により、グローバル検索を使用して誤ってレコードが使用可能になることはありません。
追加テーブルの検索を構成する手順
追加テーブルの検索を構成するには:
初めて追加テーブルの検索を有効にする 場合、新しい Search/EnableAdditionalEntities 設定を追加し、それを true に設定します。 これは、追加のすべての標準およびカスタム テーブルの検索を有効にする 1 回限りの手順です。
必要なフィルターと検索できる必要のある列を持つ追加のテーブルごとにポータル検索ビューを作成 します。
最小限の読み取り特権を持つために Web ロールを含む追加のテーブルごとにテーブルのアクセス許可を構成 します。 各テーブルに対して読み取りアクセス許可がすでに構成されている場合は、この手順をスキップします。
検索結果ページから 選択したレコードの詳細 を表示するために各テーブルに レコードの詳細ページを作成 します。 テーブルごとに別個の結果レコードの詳細ページをすでに作成している場合は、この手順をスキップします。
関連付けられたレコード詳細ページ がある各テーブルに
<entitylogicalname>_SearchResultPage
という名前の サイト マーカーを作成 します。
警告
レコードの詳細ページを作成しない場合、またはレコードの詳細ページを検索用のサイト マーカーにバインドしない場合、検索結果ページから追加テーブル レコードを選択して、レコードの詳細を表示することはできません。
追加テーブルのサイト設定
サイト設定 Search/EnableAdditionalEntities は検索用に追加テーブルを構成する場合に必要です。
重要
Search/EnableAdditionalEntities は追加テーブルの検索を有効にするための明示的なものです。 検索機能を使用する場合、主な検索サイト設定検索/有効を true に設定する必要があります。
既定のテーブルの検索構成に類似した他の関連サイト設定を構成することもできます。 たとえば、検索/フィルター設定を使用して追加テーブルを構成し、グローバル検索にドロップダウン フィルター オプションを追加することができます。 詳細: 関連するサイトの設定
レコード詳細ページのサイトマーカー
レコードの詳細ページは、<entitylogicalname>_SearchResultPage
という名前の付いた サイトマーカー を使用して構成します。
たとえば、テーブルの論理名が nwind_products の場合、サイト マーカーは nwind_products_SearchResultPage
となります。 サイト マーカーの値は、その検索結果が選択されたときに開くレコードの詳細ページです。 規定では、レコード ID は id クエリ文字列パラメーターでレコード詳細ページに渡されます。 ページにフォームを追加する方法の詳細については、フォームを追加 に移動してください。
重要
レコード詳細ページのサイト マーカーの構成には、テーブル論理名の例外が 2 つあります。
- インシデント テーブルでは、サイト マーカーに ケース という名前を付ける必要があります。
- knowledgearticle テーブルでは、サイト マーカーに ナレッジ記事 という名前を付ける必要があります。
重要
レコードの詳細ページに基本フォームがあるか、または検索結果の詳細を表示するロジックが記述されていることを確認します。 例えば、次のチュートリアルの ステップ 4 - レコードの詳細ページを追加する です。
次のチュートリアルでは、追加テーブルの検索を構成するためのサンプル データベースとソリューションを使用して、各ステップを詳細に説明します。
注意
- このチュートリアルでは、Microsoft Dataverse で使用可能なサンプル データベース Northwind の受注製品テーブルの検索を有効にする方法について説明します。 サンプル データベースの詳細については、Northwind Traders データベースとアプリをインストールする を参照してください。
- そのテーブルの論理名を持つ nwind_products テーブル名に置換して選択したテーブルでチュートリアルを実行することができます。
手順 1: 検索サイト設定を追加または更新する
Power Pages のサイトが存在する適切な環境にいることを確認してください。
ポータル管理アプリに移動します。
注意
Dynamics 365 アプリケーションがインストールされている環境にいる場合、ポータル管理アプリは Dynamics 365ポータルという名前になる場合があります。
ポータル管理アプリを選択して開いてから、左側のナビゲーション ウィンドウでサイト設定に移動します。
新しい設定Search/EnableAdditionalEntities を作成し、その値をtrue に設定します。
検索/フィルター設定を作成または更新し、値 Products:nwind_products を追加します。
手順 2: ポータル検索ビューを作成または確認する
注意
次の手順では、Northwind Traders ソリューション をインストールする必要があります。 別のテーブルを使用する場合は、適切なソリューションを使用するか、または既定のソリューションを使用してください。
Power Apps に移動し、左側のナビゲーション ウィンドウからソリューションを選択します。
Northwind Traders を選択します。
受注製品テーブルを検索します。
受注製品テーブルを選択し、ビューを選択します。
ビュー リストにポータル検索が表示されていることを確認します。
ポータル検索ビューがまだ存在しない場合は、ビューの追加を選択し、ポータル検索として名前を入力してから、作成を選択します。
検索用に適切な列がビューに追加されていることを確認します。
ビューを編集した場合は、必ず保存を選択してから、続行する前に公開します。
手順 3: テーブルのアクセス許可を作成する
ポータル管理アプリに移動します。
左側のナビゲーション ウィンドウで、テーブルのアクセス許可を選択します。
新規をクリックします。
Northwind Products Read All として名前を入力し、次に適切な アクセスの種類 および 読みとり 特権を選択します。
たとえば、グローバル アクセスの種類は nwind_products テーブルに提供されます。
保存して閉じる を選択します。
Northwind 製品すべて読み取りを選択して開きます。
Web ロール セクションまで下方向にスクロールしてから、既存の Web ロールの追加 を選択します。
認証されたユーザー を検索してから、追加 を選択します。
ステップ 4: レコードの詳細 Web ページを追加する
Power Apps に移動してから、左側のナビゲーション ウィンドウでアプリを選択します。
その他のコマンド (…) を選択してから、編集を選択して、デザインスタジオでサイトを開きます。
左上隅のメニューから新しいページを選択してから、ページの空白レイアウトを選択します。
Web ページ名を 受注製品 として入力します。
注意
このページは、ユーザーが検索結果ページからレコードを選択して、選択したレコードの詳細を表示すると表示されます。
左側のナビゲーション ウィンドウでコンポーネントを選択してから、この Web ページのフォーム コンポーネントを追加します。
ワークスペースの右側にある既存のものを使用オプションで、nwind_products の製品の表示フォームを選択し、次にモードを 読み取り専用に設定します。
ステップ 5: レコードの詳細 Web ページのサイトマーカーを追加する
ポータル管理アプリに移動します。
左側のナビゲーション ウィンドウからサイト マーカーを選択します。
新規を選択してから、次の詳細を使用して新しいサイト マーカーを作成します:
- 名前: nwind_products_SearchResultPage
- ページ:受注製品
手順 6: 検索インデックスを再作成する
注意
検索インデックスの再構築 は Lucene .NET 検索に関連しており、Dataverse 検索には適用できません。
管理者 Web ロールが割り当てられているユーザー アカウントを使用して Web サイトを参照します。
アドレス バーの URL に /_services/about を追加してから、入力を選択します。
キャッシュのクリアを選びます。
キャッシュをクリアした後、完全な検索インデックスの再作成を選択します。
手順 7: グローバル検索がカスタム テーブルで機能することを確認する
認証済みWeb ロールが割り当てられたユーザーで Web サイトを参照します。
検索ツールバーまたは検索ページに移動して、既知のレコードを検索します。
たとえば、Northwind Clam Chowder という検索キーワードを使用して nwind_products テーブルに関係した結果を取得します。