搜索数据

已完成

Microsoft Dataverse 连接器的搜索行操作支持在 Dataverse 云端流中使用 Power Automate 搜索功能。 Dataverse 搜索可涵盖多个表,提供快速、全面的结果。

在 Dataverse 流中使用 Power Automate 搜索之前,您必须首先执行以下操作:

  • 为您的环境启用 Dataverse 搜索。

  • 选择可供 Dataverse 搜索的表。

  • 指定要搜索的列和要返回的列。

我们在此为您提供有关如何配置环境,以便进行 Microsoft Dataverse 搜索的快速说明,如果您需要分步说明,请导航至为您的环境配置 Dataverse 搜索

要为您的环境启用 Dataverse 搜索,请导航至 Power Platform 管理中心,并转到您要启用 Dataverse 搜索的环境的设置页面。 在“设置”页面中,展开“产品”部分并选择“功能”。 您可以使用切换按钮在“搜索”部分启用或禁用 Dataverse 搜索。

显示启用 Dataverse 搜索切换按钮的屏幕截图。

选择可搜索的表

要选择要搜索的表,请打开表所在的解决方案,选择概述选项卡中的管理搜索索引链接按钮。在这里,您可以选择要为 Dataverse 搜索建立索引的表。

指定列

表的快速查找视图决定了已启用 Dataverse 搜索的表的可搜索列和筛选器。 您可以使用位于查找条件... 部分的编辑查找表列按钮,配置要搜索的列。

显示“查找条件”部分的屏幕截图。

您还可以创建快速视图,它专为具有自己的筛选器、排序和列的 Dataverse 搜索而设计。

使用 Dataverse 搜索行操作

使用 Dataverse 搜索行操作进行基本搜索很简单;唯一需要输入的就是搜索词;您可以使用上一步中的动态内容作为搜索词。 对于此示例,我们使用带有输入参数的手动触发流。 然后,我们选择来自此触发器的输入,作为 Dataverse 搜索行操作的搜索词。 我们在这里进行了简化,输入可以来自任何先前的操作。

显示搜索词输入的屏幕截图。

Dataverse 搜索行会返回与此搜索词匹配的所有行;结果有时可能来自单个表,也可能来自多个表。 在大多数情况下,来自多个表的结果,它们的列会不匹配,需要您配置返回的结果,然后再将它们发送到最终目标。

在此示例中,Dataverse 搜索行操作返回“联系人”、“预留”和“评论”表中的结果。 我们已经知道返回的列并不相同,在创建 HTML 表之前就将数据转换为一个具有公共列的数组变量。

展示此流的屏幕截图。

首先,我们创建了一个数组变量,来存储合并后的搜索结果。 之后,我们添加了一个解析 JSON 步骤,解释从 Dataverse 搜索行操作接收到的结果。 然后使用“应用到每一个”操作,在每个结果之间进行迭代。

我们引入了一个开关控件,来适当地管理每个表的项目结果。 此步骤至关重要,确保我们可以通过动态内容使用每个表中的唯一列。 最后,我们将结果合并到搜索结果数组变量中。

通过执行这些步骤,我们有效地解决了列不匹配的问题,并转换数据以方便创建 HTML 表。

表筛选器

Dataverse 搜索行操作支持选择要搜索的一个或多个表。 在此示例中,我们的 Dataverse 搜索配置为搜索多个表,但我们将 Dataverse 搜索行操作限制在 Power Automate 流之内,仅搜索联系人表。

显示表筛选器的屏幕截图。

行筛选器

您可以使用 OData 样式筛选表达式来限制搜索。 如果您希望搜索仅返回来自 Redmond 的联系人,可以将此表达式作为行筛选器。

address1_city eq 'Redmond'

在此示例中,我们的 Dataverse 搜索配置为搜索多个表,但我们将 Dataverse 搜索行操作限制在 Power Automate 之内,仅搜索联系人表。

排序

如果您想先按搜索分数降序、然后按全名升序对返回的结果进行排序,请使用以下表达式指定排序方式。

按项目排序 - 1@search.score desc

按项目排序 - 2fullname asc