如何从Azure AI Search获取.msg文件匹配的邮件正文及附件文本
解决方案
一、能否添加额外字段?
完全可以,你需要在索引中新增字段来存储邮件正文和附件文本,同时调整索引器的解析配置以提取这些内容。
二、具体实现步骤
- 更新索引结构
在现有索引中添加用于存储邮件正文、附件文本的字段,示例如下:
{ "name": "email-msg-index", "fields": [ {"name": "ID", "type": "Edm.String", "key": true, "searchable": false}, {"name": "metadata_subject", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_content_type", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_from", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_from_email", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_to", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_to_email", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_cc", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_cc_email", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_bcc", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_message_bcc_email", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_creation_date", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, {"name": "metadata_last_modified", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false}, // 新增字段:存储邮件正文 {"name": "content", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false}, // 新增字段:存储所有可提取的附件文本集合 {"name": "attachments_content", "type": "Collection(Edm.String)", "searchable": true, "filterable": false, "sortable": false, "facetable": false}, // 可选字段:存储附件名称集合 {"name": "attachments_names", "type": "Collection(Edm.String)", "searchable": true, "filterable": false, "sortable": false, "facetable": false} ] }
- 配置索引器解析规则
将Blob索引器的parsingMode设置为email,索引器会自动解析.msg文件并提取邮件正文、附件文本等内容。若需自定义字段映射,可在索引器的fieldMappings中配置,示例如下:
{ "name": "email-msg-indexer", "dataSourceName": "<你的数据源名称>", "targetIndexName": "email-msg-index", "parsingMode": "email", "fieldMappings": [ {"sourceFieldName": "content", "targetFieldName": "content"}, {"sourceFieldName": "attachments/content", "targetFieldName": "attachments_content"}, {"sourceFieldName": "attachments/name", "targetFieldName": "attachments_names"} ], "schedule": {"interval": "PT1H"} }
- 验证提取效果
重新运行索引器后,即可在搜索结果中获取content(邮件正文)和attachments_content(附件文本)字段的内容。注意:仅支持提取TXT、DOCX、PDF等常见格式附件的文本,加密或特殊格式的附件无法提取。
内容的提问来源于stack exchange,提问作者user7395346
相关产品推荐
相关产品推荐

