在门户中配置 Dataverse 搜索
备注
- 从 2022 年 10 月起,Power Apps 门户更名为 Power Pages。
- 此主题适用于旧版功能。 有关最新信息,请转到 Microsoft Power Pages 文档。
概述
Dataverse 搜索在门户中提供快速、综合性的搜索结果,结果按相关性排序。 Dataverse 搜索与模型驱动应用和其他基于 Microsoft Dataverse 构建的 Microsoft Power Platform 服务中使用的搜索服务相同。 要启用 Dataverse 搜索,添加站点设置 Search/EnableDataverseSearch 并将其设置为 true。 如果此设置设置为 false 或根本不存在,将启用 Lucene.NET 搜索。
本演练说明如何在 Northwind Traders 示例数据库中启用对订单产品表的搜索,通过 Dataverse 进行。 有关示例数据库的详细信息,请转到安装 Northwind Traders 数据库和应用。
您可以通过将 nwind_products 替换为您的表的逻辑名称来使用您选择的表进行演练。
步骤 1:启用 Dataverse 搜索
在 Power Platform 管理中心,选择一个环境。
选择设置 > 产品 > 功能。
在搜索下,将 Dataverse 搜索设置为开。
选择保存。
步骤 2:添加或更新搜索站点设置
登录到 Power Apps。
确保您处于门户所在的相应环境中。
在左侧窗格中,选择应用,然后找到门户管理模型驱动应用。
选择门户管理,然后选择左侧窗格中的站点设置。
创建或更新 Search/EnableDataverseSearch 站点设置,将其值设置为 true。
创建或更新 Search/EnableAdditionalEntities 站点设置,将其值设置为 true。
创建或更新搜索/筛选器站点设置,并添加值 Products:nwind_products。
步骤 3:创建或验证门户搜索视图
备注
以下步骤要求安装“罗斯文商贸”解决方案。 如果要使用另一个表,请使用相应的解决方案或使用默认解决方案。
转到 Power Apps,然后选择左侧窗格中的解决方案。
选择罗斯文商贸。
搜索订单产品表。
选择订单产品表,然后选择视图。
确保在视图列表中查看门户搜索。
如果门户搜索视图不存在,请执行以下操作:
选择添加视图
输入名称为门户搜索,然后选择创建。
确保视图包含要用于搜索的相应列。 根据需要添加其他列。
如果您编辑了视图,请务必在继续前选择保存,然后选择发布。
步骤 3:创建表权限
登录到 Power Apps。
在左侧窗格中,选择应用,然后选择门户管理。
在左侧窗格中,选择表权限。
选择新建。
将名称输入为 Northwind 产品全部读取,然后选择适当的访问类型和读取特权。
对于本示例,全局访问类型已提供给 nwind_products 表。
备注
全局访问类型将为关联 Web 角色的相关联系人提供对 nwind_products 表的所有记录的访问权限(经过身份验证的用户 Web 角色将应用于所有登录的门户用户)。 考虑您的数据安全要求,选择其他访问类型来限制对数据的访问。 有关更多详细信息,请参阅使用表权限配置安全性。
选择保存并关闭。
选择并打开 Northwind 产品全部读取。
向下滚动到 Web 角色部分,然后选择添加现有 Web 角色。
搜索已经过身份验证的用户,然后选择添加:
步骤 4:添加记录详细信息网页
转到 Power Apps,然后选择左侧窗格中的应用。
为门户选择更多命令 (...),然后选择编辑在 Power Apps 门户工作室中打开门户。
从左上角的菜单中,选择新建页面,然后为页面选择空白布局。
将网页名称输入为订单产品。
在左侧窗格中,选择组件,然后选择窗体。
选择工作区右侧,选择使用现有或新建,选择 nwind_products 表的查看产品窗体,然后将模式设置为只读。
步骤 5:为记录详细信息网页添加站点标记
登录到 Power Apps。
在左侧窗格中,选择应用,然后选择门户管理。
在左侧窗格中,选择站点标记。
选择新建,然后通过执行以下操作创建新站点标记:
对于名称,输入 nwind_products_SearchResultPage。
对于页面,选择订单产品。
步骤 6:验证 Dataverse 搜索功能
使用分配了经过身份验证的 Web 角色的用户帐户浏览到门户。
转到搜索工具栏或搜索页,并搜索已知的记录。
例如,使用搜索词 Northwind 蛤蜊浓汤可获取与 nwind_products 表相关联的结果。
限制
无法通过搜索/查询站点设置中配置的 Dataverse 列名称来提高相关性、搜索或筛选结果。
searchindex Liquid 对象中的 filter 参数不会筛选搜索结果。
例如:
{% searchindex query: 'support', filter: ' +statecode:0'%}
不会筛选不包含statecode:0
的任何匹配的搜索结果。虽然门户搜索视图可以在筛选器中使用任何运算符,但只有以下运算符列表将应用于查询搜索结果:
- 等于
- 不等于
- 大于
- 大于或等于
- 小于
- 小于或等于
在门户搜索视图中定义为筛选器列或视图列的相关字段不受 Dataverse 搜索支持,将被忽略。
不搜索文件类型列中指定的附件和对象的内容。
已知问题
如果您将站点设置 Search/EnableDataverseSearch 从 true 切换到 false 以禁用 Dataverse 搜索并重新启用 Lucene.NET 搜索,您需要转到 Power Apps 门户管理中心,选择操作 > 重新启动来重新启动门户。 如果您未执行此步骤,您将在尝试重新构建搜索索引时看到一个错误页面,用户将看不到任何搜索结果。
搜索关键字时,您可能会持续遇到消息“执行搜索时出现问题。 请重试。” 要解决此问题,请打开 Power Apps 门户管理中心,选择操作 > 重新启动来重新启动门户。