ポータルで Dataverse 検索を構成する
注意
- 2022 年 10 月より、Power Apps ポータルは Power Pages です。
- このトピックは、レガシ機能に適用されます。 最新情報については、Microsoft Power Pages のドキュメントを参照してください。
概要
Dataverse 検索では、ポータルで関連性の高い順に並べられた、高速で包括的な検索結果を表示します。 Dataverse 検索は、モデル駆動型のアプリなど、 Microsoft Dataverse で構築された Microsoft Power Platform のサービスで使われている検索サービスと同じものです。 Dataverse 検索を有効にするには、サイト設定 Search/EnableDataverseSearch を追加し、それを true に設定します。 この設定が false に設定されている場合、またはまったく存在しない場合、代わりに Lucene.NET 検索が有効になります。
このウォークスルーでは、Dataverse で提供されている Northwind Traders 社 のサンプルデータベースの Order Products テーブルの検索を有効にする方法を説明します。 サンプル データベースの詳細については、Northwind Traders データベースとアプリをインストールします にアクセスしてください。
nwind_products を自分のテーブルの論理名に置き換えることで、任意のテーブルでウォークスルーを行うことができます。
ステップ 1: Dataverse 検索を有効にする
Power Platform 管理センター で、環境を選択します。
設定 > 製品 > 機能 を選択します。
検索 で、Dataverse 検索 を オン に設定します。
保存 を選びます。
手順 2: 検索サイト設定を追加または更新する
Power Apps にサインインします。
ポータルが存在する適切な環境にいることを確認してください。
左ペインで、アプリ を選択して、ポータル管理 モデル駆動型アプリを探します。
ポータル管理 を選択して、その後左ペインで、サイト設定 を選択します。
Search/EnableDataverseSearch サイト設定を作成、更新して値を true に設定します。
Search/EnableAdditionalEntities サイト設定を作成、更新して値を true に設定します。
検索/フィルターのサイト設定を作成、または更新し、値に Products:nwind_products を追加します。
手順 3: ポータル検索ビューを作成または確認する
注意
次の手順では、Northwind Traders ソリューション をインストールする必要があります。 別のテーブルを使用する場合は、適切なソリューションを使用するか、または 既定のソリューション を使用してください。
Power Apps に移動して、左側のペインで ソリューション を選択します。
Northwind Traders を選択します。
受注製品テーブルを検索します。
受注製品テーブルを選択し、ビューを選択します。
ビュー リストにポータル検索が表示されていることを確認します。
ポータル検索ビューがまだ存在しない場合、次をおこないます。
ビューの追加 を選択します
名前を ポータル検索 として入力し、次に 作成 を選択します。
ビューに、検索に使用する適切な列が含まれていることを確認してください。 必要に応じて列を追加します。
ビューを編集した場合は、必ず 保存 を選択して、次に続行する前に 公開 を選択します。
手順 3: テーブルのアクセス許可を作成する
Power Apps にサインインします。
左側のペインで、アプリ を選択して、その後、ポータル管理 を選択します。
左のペインで、テーブルのアクセス許可 を選択します。
新規 を選択します。
Northwind Products Read All として名前を入力し、次に適切な アクセスの種類 および 読みとり 特権を選択します。
たとえば、グローバル アクセスの種類は nwind_products テーブルに提供されます。
注意
グローバルアクセス タイプは、関連する Web ロールの関連連絡先に nwind_products テーブルのすべてのレコードへのアクセスを提供します (認証されたユーザー の Web ロールは、ログインしたすべてのポータルユーザーに適用されます)。 データのセキュリティ要件を考慮し、他のアクセスタイプを選択して、データへのアクセスを制限します。 詳細については、テーブルのアクセス許可を使用してセキュリティを構成するを参照してください。
保存して閉じる を選択します。
Northwind 製品すべて読み取りを選択して開きます。
Web ロール セクションまで下方向にスクロールしてから、既存の Web ロールの追加 を選択します。
認証されたユーザー を検索してから、追加 を選択します。
ステップ4: レコードの詳細 Web ページを追加する
Power Apps に移動して、左側のペインで アプリ を選択します。
ポータルに その他のコマンド (…) を選択し、編集 を選択して Power Apps ポータル スタジオ のポータルを開きます。
左上隅のメニューから、新規ページ を選択して、次にページの 空欄 レイアウトを選択します。
Web ページ名を 受注製品 として入力します。
左ペインで、コンポーネント を選択し、フォーム を選択します。
ワークスペースの右側で、既存を使用する または 新規作成 を選択し、nwind_products テーブルの 商品を表示 フォームを選択し、モード を ReadOnly に設定します。
手順 5: レコードの詳細 Web ページにサイト マーカーを追加する
Power Apps にサインインします。
左側のペインで、アプリ を選択して、その後、ポータル管理 を選択します。
左のナビゲーション ペインで、サイト マーカー を選択します。
新規 を選択し、次に次の手順を実行して新しいサイト マーカーを作成します。
名前 では、nwind_products_SearchResultPage と入力します。
ページ では、受注製品 を選択します。
ステップ 6: Dataverse 検索機能を確認する
認証済み Web ロールが割り当てられたユーザー アカウントでポータルを参照します。
検索ツールバーまたは検索ページに移動して、既知のレコードを検索します。
たとえば、検索ワードを Northwind Clam Chowder とすると、nwind_products テーブルに関連する結果が表示されます。
制限
検索クエリ サイト設定で構成されている Dataverse 列名で、関連性を高めたり、検索したり、結果をフィルタリングしたりすることはできません。
searchindex Liquid オブジェクトの filter パラメータは、検索結果をフィルターしません。
たとえば:
{% searchindex query: 'support', filter: ' +statecode:0'%}
はstatecode:0
を含まない任意の一致する検索結果はフィルターされません。ポータル検索ビューでは、フィルターに任意の演算子を設定することができますが、検索結果のクエリには以下の演算子のみが適用されます。
- Equals
- Does not equal
- Is greater than
- Is greater than or equal to
- Is less than
- Is less than or equal to
ポータル検索ビューで列のフィルターや列の表示として定義されている関連フィールドは、Dataverse 検索ではサポートされておらず、無視されます。
ファイルの種類の列で指定された添付ファイルとオブジェクトの内容は検索されません。
既知の問題
Dataverse の検索を無効にして Lucene.NET の検索を再度有効にするために、サイト設定 Search/EnableDataverseSearch を true から false に切り替えた場合は、Power Apps ポータル管理センターで アクション > 再スタート を選択してポータルを再起動する必要があります。 この手順を実行しなかった場合、検索インデックスを再構築 しようとするとエラー ページが表示され、ユーザーは検索結果を見ることができません。
キーワードを検索すると、"検索の実行に問題がありました。 再試行してください。" これを修正するにはポータルを開いて Power Apps ポータル管理センターを再起動して、アクション > 再起動 を選択します。
関連情報
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。