■結論(色々試行錯誤した結果、これに落ち着きました)
id列を追加して、インデクサーに下記を入れてみて下さい。
"parameters": {
"batchSize": null,
"maxFailedItems": null,
"maxFailedItemsPerBatch": null,
"base64EncodeKeys": null,
"configuration": {
"imageAction": "generateNormalizedImages",
"allowSkillsetToReadFileData": true
}
},
"fieldMappings": [
{
"sourceFieldName": "metadata_storage_path",
"targetFieldName": "id",
"mappingFunction": {
"name": "fixedLengthEncode",
"parameters": null
}
}
]
■想定ケース
1.Azure AI Search画面の「データのインポート」からインデックスを作成するケース
2.BLOBファイルパスがかなり長く、metadata_storage_pathが1024文字オーバするケース
■手順
①ひとまずmetadata_storage_pathがキーとなるインデックスを作成
Search Service画面上部の「データのインポート」から、データソースを該当のBLOBストレージのコンテナ指定で、インデックスを登録
フィールドは下記(あくまでも例です)
※登録時は、「エンリッチメントの追加」から「OCRを有効にし、すべてのテキストをmereged_contentフィールドにマージする」を選択すると、
スキルセットが自動作成されて無難です。
②インデック画面上部の「インデックスの追加」から、id列を追加した下記フィールドを作成して
そのまま進行
恐らく、インデクサーの生成でエラーになると思いますが、無視します。
③上記①で登録したインデクサーの下記を編集
"fieldMappings": [
{
"sourceFieldName": "metadata_storage_path",
"targetFieldName": "id",
"mappingFunction": {
"name": "fixedLengthEncode",
"parameters": null
}
}
],
"outputFieldMappings": [
{
"sourceFieldName": "/document/merged_content",
"targetFieldName": "merged_content"
}
],
保存した後、「リセット」→「実行」で完了