Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
适用于:
Azure 数据工厂
Azure Synapse Analytics
本文概述了如何使用 Azure 数据工厂 或 Synapse Analytics 管道中的复制活动将数据复制到Azure AI 搜索索引中。 基于提供复制活动一般概述的复制活动概述一文。
支持的功能
以下功能支持此Azure AI 搜索连接器:
| 支持的功能 | IR | 托管私有终结点 |
|---|---|---|
| 复制活动 (-/接收器) | (1) (2) | ✓ |
(1) Azure集成运行时 (2) 自承载集成运行时
可以将数据从任何支持的源数据存储复制到搜索索引中。 要获取复制活动支持的源/汇的数据存储列表,请参阅支持的数据存储表。
入门
若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:
使用 UI 创建用于Azure搜索的链接服务
使用以下步骤在 Azure 门户用户界面中创建到 Azure 认知搜索的关联服务。
浏览到Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
搜索并选择Azure 搜索连接器(Azure Search)。
配置服务详细信息、测试连接并创建新的链接服务。
连接器配置详细信息
以下部分提供有关用于定义特定于Azure AI 搜索连接器的数据工厂实体的属性的详细信息。
连接的服务属性
Azure AI 搜索链接服务支持以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 类型 | type 属性必须设置为:AzureSearch | 是 |
| url | 搜索服务的 URL。 | 是 |
| 关键值 | 搜索服务的管理密钥。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure 密钥保管库 中的机密。 | 是 |
| connectVia | 连接到数据存储时要使用的Integration Runtime。 可以使用 Azure Integration Runtime 或自托管 Integration Runtime(如果数据存储位于私有网络中)。 如果未指定,则使用默认Azure Integration Runtime。 | 否 |
重要
当从云数据存储复制数据到搜索索引时,在 Azure AI 搜索 链接服务中,你需要在 connectVia 中引用一个具有显式区域的 Azure Integration Runtime。 将区域设置为搜索服务所在的区域。 从 Azure Integration Runtime 了解详细信息。
示例:
{
"name": "AzureSearchLinkedService",
"properties": {
"type": "AzureSearch",
"typeProperties": {
"url": "https://<service>.search.chinacloudapi.cn",
"key": {
"type": "SecureString",
"value": "<AdminKey>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
数据集属性
有关可用于定义数据集的各部分和属性的完整列表,请参阅数据集一文。 本部分提供Azure AI 搜索数据集支持的属性列表。
若要将数据复制到Azure AI 搜索,支持以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 类型 | 数据集的 type 属性必须设置为:AzureSearchIndex | 是 |
| indexName (索引名称) | 搜索索引的名称。 此服务不创建索引。 索引必须存在于Azure AI 搜索中。 | 是 |
示例:
{
"name": "AzureSearchIndexDataset",
"properties": {
"type": "AzureSearchIndex",
"typeProperties" : {
"indexName": "products"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<Azure AI Search linked service name>",
"type": "LinkedServiceReference"
}
}
}
复制活动 属性
有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供Azure AI 搜索源支持的属性列表。
Azure AI 搜索 作为目标接收器
若要将数据复制到 Azure AI 搜索,请将复制活动中的源类型设置为 AzureSearchIndexSink。 复制活动中的 目标连接 部分支持以下属性:
| 属性 | 描述 | 必需 |
|---|---|---|
| 类型 | 复制活动源的 type 属性必须设置为:AzureSearchIndexSink | 是 |
| writeBehavior | 指定索引中已存在文档时要合并还是替换该文档。 请参阅 WriteBehavior 属性。 允许的值为:Merge(默认)和Upload。 |
否 |
| writeBatchSize | 缓冲区大小达到 writeBatchSize 时,会将数据上传到搜索索引。 有关详细信息,请参阅 WriteBatchSize 属性。 允许的值为:整数 1 到 1,000;默认值为 1000。 |
否 |
| 最大并发连接数 | 活动运行期间与数据存储建立的并发连接的上限。 仅在要限制并发连接时指定一个值。 | 否 |
WriteBehavior 属性
AzureSearchSink 在写入数据时执行 upsert 操作。 换句话说,在编写文档时,如果文档键已存在于搜索索引中,Azure AI 搜索更新现有文档,而不是引发冲突异常。
AzureSearchSink(通过使用 AzureSearch SDK)提供以下两种 upsert 行为:
- 合并:合并新文档和现有文档中的所有列。 对于新文档中具有 null 值的列,会在现有文档列中保留该值。
- 上传:新文档替换现有文档。 对于未在新文档中指定的列,无论现有文档中是否存在非 null 值,均将该值设置为 null。
默认行为是合并。
WriteBatchSize 属性
Azure AI 搜索 服务支持以批处理的方式编写文档。 每批次可包含 1 到 1,000 个操作。 每个操作处理一个文档以执行上传/合并操作。
示例:
"activities":[
{
"name": "CopyToAzureSearch",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Azure AI Search output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "AzureSearchIndexSink",
"writeBehavior": "Merge"
}
}
}
]
数据类型支持
下表指定是否支持Azure AI 搜索数据类型。
| Azure AI 搜索数据类型 | 支持在 Azure AI 搜索 接收器中 |
|---|---|
| 字符串 | Y |
| Int32 | Y |
| Int64 | Y |
| 双精度 | Y |
| 布尔 | Y |
| 数据时间偏移 | Y |
| 字符串数组 | N |
| GeographyPoint | N |
当前不支持其他数据类型,例如 ComplexType。 有关支持的 Azure AI 搜索 数据类型的完整列表,请参阅 支持的数据类型(Azure AI 搜索)。
相关内容
为了获取复制活动支持的数据源和汇集列表,请参阅支持的数据存储。