如何在Azure AI Search中配置索引器的imageAction为generateNormalizedImagePerPage并获取页码
配置索引器获取页码的步骤
针对你使用的脚本,按以下步骤修改来实现imageAction=generateNormalizedImagePerPage配置,从而获取页码:
1. 更新索引定义,添加页码存储字段
在脚本创建搜索索引的代码段中,添加用于存储页码的字段。可以直接使用系统自带的metadata_storage_page_number字段,也可以自定义字段:
# 找到构建索引字段的部分,补充以下字段 fields.append(SearchField(name="metadata_storage_page_number", type=SearchFieldDataType.Int32, retrievable=True, filterable=True)) # 若要自定义字段名,比如用page_number,可替换为: # fields.append(SearchField(name="page_number", type=SearchFieldDataType.Int32, retrievable=True))
2. 修改索引器配置,启用imageAction
找到脚本中创建索引器的代码,在索引器参数里添加imageAction配置:
# 构建索引器时,添加parameters配置 indexer = SearchIndexer( name=indexer_name, data_source_name=data_source_name, target_index_name=index_name, parameters=SearchIndexerParameters( configuration={ "imageAction": "generateNormalizedImagePerPage", # 若需要提取文档内容,可同时设置: # "dataToExtract": "contentAndMetadata" } ) ) # 如果用了自定义页码字段,添加字段映射(可选) # indexer.output_field_mappings = [ # SearchIndexerOutputFieldMapping(source_field_name="metadata_storage_page_number", target_field_name="page_number") # ] # 最后创建索引器 search_client.create_indexer(indexer)
效果说明
启用该配置后,PDF等带页码的文档会被拆分为单页独立文档,每个文档的metadata_storage_page_number(或你自定义的字段)会对应其原始页码值,后续查询时即可直接获取该字段的值。
内容的提问来源于stack exchange,提问作者Mukhtor Rasulov
相关产品推荐
相关产品推荐

