此技能不绑定到 Azure AI 服务,并且没有 Azure AI 服务的关键要求。
此技能可提取文本和图像。 文本提取是免费的。 图像提取
由 Azure 认知搜索计量
。 在免费搜索服务中,每个索引器每天 20 个事务的成本已豁免,因此你可以免费完成快速入门、教程和小型项目。 对于基本、标准及以上的服务,图像提取是收费的。
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
DocumentExtractionSkill 可从以下文档格式提取文本:
CSV(请参阅
为 CSV Blob 编制索引
)
JSON(请参阅
为 JSON blob 编制索引
)
KML(用于地理表示形式的 XML)
Microsoft Office 格式:DOCX/DOC/DOCM、XLSX/XLS/XLSM、PPTX/PPT/PPTM、MSG(Outlook 电子邮件)、XML(2003 和 2006 Word XML)
公开文档格式:ODT、ODS、ODP
纯文本文件(另请参阅
为纯文本编制索引
)
参数区分大小写。
parsingMode
default
text
json
对于从非纯文本或 json 文件进行的文档提取,请设置为
default
。 对于包含标记的源文件(例如 PDF、HTML、RTF 和 Microsoft Office 文件),请使用默认值以提取纯文本,而不提取任何标记语言或标记。 如果未显式定义
parsingMode
,则它将设置为
default
。 如果源文件是 TXT,请设置为
text
。 此分析模式提高了纯文本文件的处理性能。 如果文件包含标记,此模式将在最终输出中保留标记。 若要从 json 文件中提取结构化内容,请设置为
json
。
dataToExtract
contentAndMetadata
allMetadata
若要提取每个文件的所有元数据和文本内容,请设置为
contentAndMetadata
。 如果未显式定义
dataToExtract
,则它将设置为
contentAndMetadata
。 若要仅提取
内容类型的元数据属性
(例如,仅 .png 文件独有的元数据),请设置为
allMetadata
。
configuration
请参阅下文。
可选参数的字典,这些参数用于调整文档提取执行方式。 有关支持的配置属性的说明,请参阅下表。
imageAction
none
generateNormalizedImages
generateNormalizedImagePerPage
若要忽略数据集中的嵌入图像或图像文件,或者如果源数据不包含图像文件,请设置为
none
。 这是默认值。 对于
OCR 和图像分析
,设置为
generateNormalizedImages
可使技能在
文档破解
过程中创建规范化图像的数组。 此操作需要将
parsingMode
设置为
default
,将
dataToExtract
设置为
contentAndMetadata
。 规范化的图像是指在视觉搜索结果中包含图像时,对图像进行额外的处理,使图像的输出一致,并通过调整大小和旋转方向使图像在呈现时更一致(例如,使图像控件中的照片大小一致,如
JFK 演示
中所示)。 当使用此选项时,将为每个图像生成此信息。 如果设置为
generateNormalizedImagePerPage
,则将以不同的方式对待 PDF 文件,将不会提取嵌入的图像,而是将每个页面呈现为图像并相应地规范化。 对待非 PDF 文件类型的方式与设置了
generateNormalizedImages
时相同。
normalizedImageMaxWidth
一个介于 50 和 10000 之间的整数
生成的规范化图像的最大宽度(以像素为单位)。 默认为 2000。
normalizedImageMaxHeight
一个介于 50 和 10000 之间的整数
生成的规范化图像的最大高度(以像素为单位)。 默认为 2000。
将规范化图像的最大宽度和高度默认设置为 2000 像素是考虑到
OCR 技术
所能够支持的最大大小以及
图像分析技术
。
OCR 技能
支持非英语语言的最大宽度和高度为 4200,支持英语语言的最大宽度和高度为 10000。 如果增加最大限制,则根据技能组定义和文档语言,对较大的图像进行处理可能会失败。
"$type": "file",
"url": "URL to download file",
"sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
可通过以下三种方式之一生成文件引用对象:
在你的索引器定义中将
allowSkillsetToReadFileData
参数设置为“true”。 这将创建路径
/document/file_data
,该路径是一个对象,表示从 blob 数据源下载的原始文件数据。 此参数仅适用于 Blob 存储中的文件。
在你的索引器定义中将
imageAction
参数设置为
none
之外的值。 这会创建一个图像数组,该数组将遵循此技能的输入在逐个传递的情况下所需的约定(即
/document/normalized_images/*
)。
让自定义技能返回严格如上所述定义的 json 对象。
$type
参数必须精确设置为
file
,
data
参数必须是文件内容的 Base64 编码字节数组数据,或者
url
参数必须是格式正确的 URL,有权在该位置下载文件。
"@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill",
"parsingMode": "default",
"dataToExtract": "contentAndMetadata",
"configuration": {
"imageAction": "generateNormalizedImages",
"normalizedImageMaxWidth": 2000,
"normalizedImageMaxHeight": 2000
"context": "/document",
"inputs": [
"name": "file_data",
"source": "/document/file_data"
"outputs": [
"name": "content",
"targetName": "extracted_content"
"name": "normalized_images",
"targetName": "extracted_normalized_images"
"values": [
"recordId": "1",
"data":
"file_data": {
"$type": "file",
"data": "aGVsbG8="
"values": [
"recordId": "1",
"data": {
"content": "hello",
"normalized_images": []
如何定义技能集
如何在认知搜索方案中处理和提取图像中的信息