如何使用Azure认知搜索索引器去除Blob存储内容的HTML标签
修复方案
索引器返回原始HTML代码的核心原因是parsingMode参数配置错误:default解析模式会将所有文件按无格式纯文本处理,不会识别HTML标签结构,因此会把完整源码写入content字段。
调整步骤如下:
- 将索引器配置
configuration节点下的parsingMode参数值从default改为html html是专门适配text/html类型文件的解析模式,默认会自动过滤<script>、<style>等非可见标签,还原HTML转义字符,仅提取页面实际展示的纯文本内容,常规场景下不需要额外配置其他提取规则- 修改配置后重置索引器,重新执行索引任务即可
调整后的完整配置参考:
{ "name" : "my-blob-indexer", "dataSourceName" : "my-blob-datasource", "targetIndexName" : "my-search-index", "parameters": { "batchSize": null, "maxFailedItems": null, "maxFailedItemsPerBatch": null, "base64EncodeKeys": null, "configuration": { "indexedFileNameExtensions" : ".html", "excludedFileNameExtensions" : ".png,.jpeg", "dataToExtract": "contentAndMetadata", "parsingMode": "html" } }, "schedule" : { }, "fieldMappings" : [ ] }
可选扩展:如果需要排除HTML中特定标签范围的内容,可以在
configuration节点下新增excludeStructure参数,传入要排除内容对应的CSS选择器即可。
内容的提问来源于stack exchange,提问作者Sensation
相关产品推荐
相关产品推荐

