Azure Cognitive Search:DocumentExtractionSkill无法提取文件内容求助
问题:DocumentExtractionSkill无法从数据库存储的二进制文件提取文本
项目中需要从多份文件提取内容写入Azure Cognitive Search的content字段,但执行索引器后,content和metadata字段均为空,无法完成文本提取。
数据库表结构
TABLE FileStorage ( ID INT IDENTITY(1,1) PRIMARY KEY, FileName NVARCHAR(255) NOT NULL, -- Name of the file FileData VARBINARY(MAX) NOT NULL, -- Binary data of the file PDF UploadDate DATETIME DEFAULT GETDATE() -- Optional: Date of file upload );
Azure Cognitive Search 索引配置
{ "name": "files-index", "fields": [ { "name": "ID", "type": "Edm.String", "key": true, "retrievable": true, "stored": true, "searchable": false, "filterable": true, "sortable": true, "facetable": true, "synonymMaps": [] }, { "name": "fileName", "type": "Edm.String", "key": false, "retrievable": true, "stored": true, "searchable": true, "filterable": true, "sortable": true, "facetable": true, "synonymMaps": [] }, { "name": "content", "type": "Edm.String", "key": false, "retrievable": true, "stored": true, "searchable": true, "filterable": true, "sortable": true, "facetable": true, "analyzer": "standard.lucene", "synonymMaps": [] }, { "name": "metadata", "type": "Edm.String", "key": false, "retrievable": true, "stored": true, "searchable": true, "filterable": true, "sortable": true, "facetable": true, "synonymMaps": [] }, { "name": "uploadDate", "type": "Edm.DateTimeOffset", "key": false, "retrievable": true, "stored": true, "searchable": false, "filterable": true, "sortable": true, "facetable": true, "synonymMaps": [] } ], "scoringProfiles": [], "suggesters": [], "analyzers": [], "tokenizers": [], "tokenFilters": [], "charFilters": [], "normalizers": [], "similarity": { "@odata.type": "#Microsoft.Azure.Search.BM25Similarity" }, "@odata.etag": "" }
技能集配置
{ "name": "testtwo", "description": "testtwo", "skills": [ { "@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill", "name": "#1", "description": "Extract text and metadata from binary documents (PDF, DOCX, etc.)", "context": "/document", "inputs": [ { "name": "file_data", "source": "/document/file_data", "inputs": [] } ], "outputs": [ { "name": "text", "targetName": "content" }, { "name": "metadata", "targetName": "metadata" } ], "parsingMode": "default", "dataToExtract": "contentAndMetadata", "_configuration": {} } ], "@odata.etag": "" }
索引器配置
{ "name": "filestorage-indexer", "dataSourceName": "filestorage-datasource", "targetIndexName": "files-index", "skillsetName": "testtwo", "fieldMappings": [ { "sourceFieldName": "ID", "targetFieldName": "id" }, { "sourceFieldName": "FileName", "targetFieldName": "fileName" } ], "outputFieldMappings": [ { "sourceFieldName": "/document/content", "targetFieldName": "content" }, { "sourceFieldName": "/document/metadata", "targetFieldName": "metadata" } ] }
执行结果
索引器运行后,content、metadata及uploadDate字段均为空,示例返回结果:
{ "@odata.context": "https://someurl.windows.net/indexes('files-index')/$metadata#docs(*)", "@odata.count": 29, "value": [ { "@search.score": 1, "ID": "20", "fileName": "firstfile.pdf", "content": null, "metadata": null, "uploadDate": null },{ "@search.score": 1, "ID": "3", "fileName": "blabla.pdf", "content": null, "metadata": null, "uploadDate": null } ] }
请求帮助
已多次核对配置逻辑,但仍无法提取文件内容到对应字段,请求排查配置问题或提供替代方案。
内容的提问来源于stack exchange,提问作者kolek
相关产品推荐
相关产品推荐

