Indexers - Create
新しいインデクサーを作成します。
POST {endpoint}/indexers?api-version=2025-09-01
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
endpoint
|
path | True |
string |
検索サービスのエンドポイント URL。 |
api-version
|
query | True |
string |
クライアント API のバージョン。 |
要求ヘッダー
名前 | 必須 | 型 | 説明 |
---|---|---|---|
x-ms-client-request-id |
string (uuid) |
デバッグを支援するためにリクエストとともに送信されたトラッキング ID。 |
要求本文
名前 | 必須 | 型 | 説明 |
---|---|---|---|
dataSourceName | True |
string |
このインデクサーがデータを読み取るデータソースの名前。 |
name | True |
string |
インデクサーの名前。 |
targetIndexName | True |
string |
このインデクサーがデータを書き込むインデックスの名前。 |
@odata.etag |
string |
インデクサーの ETag。 |
|
description |
string |
インデクサーの説明。 |
|
disabled |
boolean |
インデクサーが無効になっているかどうかを示す値。 既定値は false です。 |
|
encryptionKey |
Azure Key Vault で作成する暗号化キーの説明。 このキーは、インデクサー定義 (およびインデクサーの実行状態) に追加レベルの保存時の暗号化を提供するために使用されます。 インデクサー定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定しようとすると無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。インデクサー定義 (およびインデクサーの実行状態) は影響を受けません。 カスタマー マネージド キーによる暗号化は、無料の検索サービスでは使用できず、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。 |
||
fieldMappings |
データソースのフィールドとインデックスの対応するターゲットフィールド間のマッピングを定義します。 |
||
outputFieldMappings |
出力フィールドのマッピングは、エンリッチ後、インデックス作成の直前に適用されます。 |
||
parameters |
インデクサー実行のパラメーター。 |
||
schedule |
このインデクサーのスケジュール。 |
||
skillsetName |
string |
このインデクサーで実行されているスキルセットの名前。 |
応答
名前 | 型 | 説明 |
---|---|---|
201 Created | ||
Other Status Codes |
エラー応答。 |
例
SearchServiceCreateIndexer
要求のサンプル
POST https://stableexampleservice.search.windows.net/indexers?api-version=2025-09-01
{
"name": "myindexer",
"description": "Description of the indexer",
"dataSourceName": "mydocdbdatasource",
"skillsetName": "myskillset",
"targetIndexName": "stable-test",
"schedule": {
"interval": "P1D",
"startTime": "2025-01-07T19:30:00Z"
},
"parameters": {
"batchSize": 10,
"maxFailedItems": 10,
"maxFailedItemsPerBatch": 5,
"configuration": {
"excludedFileNameExtensions": ".png,.mp4",
"indexedFileNameExtensions": ".docx,.pptx",
"failOnUnsupportedContentType": true,
"failOnUnprocessableDocument": false,
"indexStorageMetadataOnlyForOversizedDocuments": true,
"delimitedTextHeaders": "Header1,Header2",
"delimitedTextDelimiter": "|",
"firstLineContainsHeaders": true,
"documentRoot": "/root",
"dataToExtract": "storageMetadata",
"imageAction": "none",
"allowSkillsetToReadFileData": false,
"pdfTextRotationAlgorithm": "none",
"executionEnvironment": "standard"
}
},
"fieldMappings": [
{
"sourceFieldName": "/document",
"targetFieldName": "name",
"mappingFunction": {
"name": "base64Encode"
}
}
],
"outputFieldMappings": [
{
"sourceFieldName": "/document",
"targetFieldName": "name",
"mappingFunction": {
"name": "base64Encode"
}
}
],
"disabled": false,
"@odata.etag": "0x1234568AE7E58A1"
}
応答のサンプル
{
"@odata.etag": "0x1234568AE7E58A1",
"name": "myindexer",
"description": "Description of the indexer",
"dataSourceName": "mydocdbdatasource",
"skillsetName": "myskillset",
"targetIndexName": "stable-test",
"disabled": false,
"schedule": {
"interval": "P1D",
"startTime": "2024-06-06T00:01:50.265Z"
},
"parameters": {
"batchSize": 10,
"maxFailedItems": 10,
"maxFailedItemsPerBatch": 5,
"configuration": {
"excludedFileNameExtensions": ".png,.mp4",
"indexedFileNameExtensions": ".docx,.pptx",
"failOnUnsupportedContentType": true,
"failOnUnprocessableDocument": false,
"indexStorageMetadataOnlyForOversizedDocuments": true,
"delimitedTextHeaders": "Header1,Header2",
"delimitedTextDelimiter": "|",
"firstLineContainsHeaders": true,
"documentRoot": "/root",
"dataToExtract": "storageMetadata",
"imageAction": "none",
"allowSkillsetToReadFileData": false,
"pdfTextRotationAlgorithm": "none",
"executionEnvironment": "standard"
}
},
"fieldMappings": [
{
"sourceFieldName": "/document",
"targetFieldName": "name",
"mappingFunction": {
"name": "base64Encode"
}
}
],
"outputFieldMappings": [
{
"sourceFieldName": "/document",
"targetFieldName": "name",
"mappingFunction": {
"name": "base64Encode"
}
}
]
}
定義
名前 | 説明 |
---|---|
Azure |
検索サービス用に作成された登録済みアプリケーションの資格情報で、Azure Key Vault に格納されている暗号化キーへの認証済みアクセスに使用されます。 |
Blob |
Azure BLOB Storage から抽出するデータを指定し、"imageAction" が "none" 以外の値に設定されている場合に、画像コンテンツから抽出するデータをインデクサーに指示します。 これは、.PDF またはその他のアプリケーションに埋め込まれた画像コンテンツ、または Azure BLOB 内の .jpg や .pngなどの画像ファイルに適用されます。 |
Blob |
Azure BLOB Storage 内の埋め込みイメージとイメージ ファイルを処理する方法を決定します。 "imageAction" 構成を "none" 以外の値に設定するには、スキルセットもそのインデクサーにアタッチする必要があります。 |
Blob |
Azure BLOB データ ソースからのインデックス作成の解析モードを表します。 |
Blob |
Azure BLOB ストレージ内の PDF ファイルからテキストを抽出するアルゴリズムを決定します。 |
Error |
リソース管理エラーの追加情報。 |
Error |
エラーの詳細。 |
Error |
エラー応答 |
Field |
データソースのフィールドとインデックスのターゲットフィールドの間のマッピングを定義します。 |
Field |
インデックス作成前にデータ ソースから値を変換する関数を表します。 |
Indexer |
インデクサーを実行する環境を指定します。 |
Indexing |
インデクサー実行のパラメーターを表します。 |
Indexing |
インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。 |
Indexing |
インデクサー実行のスケジュールを表します。 |
Search |
インデクサーを表します。 |
Search |
Azure Key Vault の顧客管理暗号化キー。 作成および管理するキーを使用して、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除を行うことができます。 |
AzureActiveDirectoryApplicationCredentials
検索サービス用に作成された登録済みアプリケーションの資格情報で、Azure Key Vault に格納されている暗号化キーへの認証済みアクセスに使用されます。
名前 | 型 | 説明 |
---|---|---|
applicationId |
string |
保存データを暗号化するときに使用する Azure Key Vault への必要なアクセス許可が付与された AAD アプリケーション ID。 アプリケーション ID を AAD アプリケーションのオブジェクト ID と混同しないでください。 |
applicationSecret |
string |
指定した AAD アプリケーションの認証キー。 |
BlobIndexerDataToExtract
Azure BLOB Storage から抽出するデータを指定し、"imageAction" が "none" 以外の値に設定されている場合に、画像コンテンツから抽出するデータをインデクサーに指示します。 これは、.PDF またはその他のアプリケーションに埋め込まれた画像コンテンツ、または Azure BLOB 内の .jpg や .pngなどの画像ファイルに適用されます。
値 | 説明 |
---|---|
storageMetadata |
標準の BLOB プロパティとユーザー指定のメタデータのみにインデックスを付けます。 |
allMetadata |
Azure BLOB ストレージ サブシステムによって提供されるメタデータと、コンテンツ タイプ固有のメタデータ (たとえば、インデックスが作成される .png ファイルのみに固有のメタデータ) を抽出します。 |
contentAndMetadata |
各 BLOB からすべてのメタデータとテキスト コンテンツを抽出します。 |
BlobIndexerImageAction
Azure BLOB Storage 内の埋め込みイメージとイメージ ファイルを処理する方法を決定します。 "imageAction" 構成を "none" 以外の値に設定するには、スキルセットもそのインデクサーにアタッチする必要があります。
値 | 説明 |
---|---|
none |
データセット内の埋め込みイメージまたはイメージ・ファイルを無視します。 これが既定値です。 |
generateNormalizedImages |
画像からテキスト (たとえば、交通停止標識の "STOP" という単語) を抽出し、コンテンツ フィールドに埋め込みます。 このアクションでは、"dataToExtract" が "contentAndMetadata" に設定されている必要があります。 正規化された画像とは、ビジュアル検索結果に画像を含めるときに一貫したレンダリングを促進するために、均一な画像出力、サイズ、回転をもたらす追加の処理を指します。 この情報は、このオプションを使用すると、イメージごとに生成されます。 |
generateNormalizedImagePerPage |
画像からテキスト (たとえば、交通停止標識の "STOP" という単語) を抽出してコンテンツ フィールドに埋め込みますが、埋め込み画像を抽出するのではなく、各ページが画像としてレンダリングされ、それに応じて正規化されるという点で、PDF ファイルの扱いは異なります。 PDF以外のファイルタイプは、「generateNormalizedImages」が設定されている場合と同じように扱われます。 |
BlobIndexerParsingMode
Azure BLOB データ ソースからのインデックス作成の解析モードを表します。
値 | 説明 |
---|---|
default |
通常のファイル処理ではデフォルトに設定します。 |
text |
BLOB ストレージ内のプレーン テキスト ファイルのインデックス作成パフォーマンスを向上させるには、テキストに設定します。 |
delimitedText |
BLOB がプレーンな CSV ファイルの場合は、delimitedText に設定します。 |
json |
JSON ファイルから構造化コンテンツを抽出するには、json に設定します。 |
jsonArray |
jsonArray に設定すると、JSON 配列の個々の要素が個別のドキュメントとして抽出されます。 |
jsonLines |
jsonLines に設定すると、新しい行で区切られた個々の JSON エンティティを個別のドキュメントとして抽出されます。 |
BlobIndexerPDFTextRotationAlgorithm
Azure BLOB ストレージ内の PDF ファイルからテキストを抽出するアルゴリズムを決定します。
値 | 説明 |
---|---|
none |
通常のテキスト抽出を利用します。 これが既定値です。 |
detectAngles |
テキストが回転したPDFファイルから、より優れた読みやすいテキスト抽出が生成される場合があります。 このパラメータを使用すると、パフォーマンス速度にわずかな影響があることに注意してください。 このパラメータは、PDF ファイルにのみ適用され、テキストが埋め込まれた PDF にのみ適用されます。 回転したテキストが PDF の埋め込み画像内に表示される場合、このパラメーターは適用されません。 |
ErrorAdditionalInfo
リソース管理エラーの追加情報。
名前 | 型 | 説明 |
---|---|---|
info |
object |
追加情報。 |
type |
string |
追加情報の種類。 |
ErrorDetail
エラーの詳細。
名前 | 型 | 説明 |
---|---|---|
additionalInfo |
エラーの追加情報。 |
|
code |
string |
エラー コード。 |
details |
エラーの詳細。 |
|
message |
string |
エラー メッセージ。 |
target |
string |
エラーターゲット。 |
ErrorResponse
エラー応答
名前 | 型 | 説明 |
---|---|---|
error |
エラー オブジェクト。 |
FieldMapping
データソースのフィールドとインデックスのターゲットフィールドの間のマッピングを定義します。
名前 | 型 | 説明 |
---|---|---|
mappingFunction |
インデックス作成前に各ソースフィールド値に適用する関数。 |
|
sourceFieldName |
string |
データ ソース内のフィールドの名前。 |
targetFieldName |
string |
インデックス内のターゲットフィールドの名前。 デフォルトでは、ソースフィールド名と同じです。 |
FieldMappingFunction
インデックス作成前にデータ ソースから値を変換する関数を表します。
名前 | 型 | 説明 |
---|---|---|
name |
string |
フィールドマッピング関数の名前。 |
parameters |
object |
関数に渡すパラメータ名と値のペアのディクショナリ。 各値はプリミティブ型である必要があります。 |
IndexerExecutionEnvironment
インデクサーを実行する環境を指定します。
値 | 説明 |
---|---|
standard |
検索サービスがインデクサーを実行する場所を決定できることを示します。 これは、何も指定されていない場合のデフォルト環境であり、推奨値です。 |
private |
インデクサーは、検索サービス専用にプロビジョニングされた環境で実行する必要があることを示します。 これは、インデクサーが共有プライベート リンク リソースを介してリソースに安全にアクセスする必要がある場合にのみ、実行環境として指定する必要があります。 |
IndexingParameters
インデクサー実行のパラメーターを表します。
名前 | 型 | 規定値 | 説明 |
---|---|---|---|
batchSize |
integer (int32) |
パフォーマンスを向上させるために、データ ソースから読み取られ、1 つのバッチとしてインデックスが作成される項目の数。 デフォルトは、データソースの種類によって異なります。 |
|
configuration |
インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。 |
||
maxFailedItems |
integer (int32) |
0 |
インデクサーの実行が成功したと見なされるインデックス作成に失敗する可能性のある項目の最大数。 -1は制限がないことを意味します。 既定値は 0 です。 |
maxFailedItemsPerBatch |
integer (int32) |
0 |
バッチのインデックス作成に失敗する可能性がある 1 つのバッチ内の項目の最大数は、それでも成功したと見なされます。 -1は制限がないことを意味します。 既定値は 0 です。 |
IndexingParametersConfiguration
インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。
名前 | 型 | 規定値 | 説明 |
---|---|---|---|
allowSkillsetToReadFileData |
boolean |
False |
true の場合、BLOB データ ソースからダウンロードされた元のファイル データを表すオブジェクトであるパス //document//file_data を作成します。 これにより、元のファイル・データをエンリッチメント・パイプライン内で処理するためのカスタム・スキル、またはドキュメント抽出スキルに渡すことができます。 |
dataToExtract | contentAndMetadata |
Azure BLOB Storage から抽出するデータを指定し、"imageAction" が "none" 以外の値に設定されている場合に、画像コンテンツから抽出するデータをインデクサーに指示します。 これは、.PDF またはその他のアプリケーションに埋め込まれた画像コンテンツ、または Azure BLOB 内の .jpg や .pngなどの画像ファイルに適用されます。 |
|
delimitedTextDelimiter |
string |
CSV BLOB の場合、各行が新しいドキュメントを開始する CSV ファイルの行末の 1 文字区切り文字を指定します (たとえば、"|")。 |
|
delimitedTextHeaders |
string |
CSV BLOB の場合、ソース フィールドをインデックス内の宛先フィールドにマッピングする場合に役立つ、カンマ区切りの列ヘッダーのリストを指定します。 |
|
documentRoot |
string |
JSON 配列の場合、構造化ドキュメントまたは半構造化ドキュメントを指定すると、このプロパティを使用して配列へのパスを指定できます。 |
|
excludedFileNameExtensions |
string |
Azure BLOB Storage から処理するときに無視するファイル名拡張子のカンマ区切りの一覧。 たとえば、「.png、 .mp4」を除外して、インデックス作成中にこれらのファイルをスキップできます。 |
|
executionEnvironment | standard |
インデクサーを実行する環境を指定します。 |
|
failOnUnprocessableDocument |
boolean |
False |
Azure BLOB の場合、ドキュメントのインデックス作成に失敗した場合にインデックス作成を続行する場合は、false に設定します。 |
failOnUnsupportedContentType |
boolean |
False |
Azure BLOB の場合、サポートされていないコンテンツ タイプが検出され、すべてのコンテンツ タイプ (ファイル拡張子) が事前にわからない場合にインデックス作成を続行する場合は、false に設定します。 |
firstLineContainsHeaders |
boolean |
True |
CSV BLOB の場合、各 BLOB の最初の (空白ではない) 行にヘッダーが含まれていることを示します。 |
imageAction | none |
Azure BLOB Storage 内の埋め込みイメージとイメージ ファイルを処理する方法を決定します。 "imageAction" 構成を "none" 以外の値に設定するには、スキルセットもそのインデクサーにアタッチする必要があります。 |
|
indexStorageMetadataOnlyForOversizedDocuments |
boolean |
False |
Azure BLOB の場合は、このプロパティを true に設定すると、処理するには大きすぎる BLOB コンテンツのストレージ メタデータにインデックスが付けられます。 サイズが大きい BLOB は、既定ではエラーとして扱われます。 BLOB サイズの制限については、「 https://learn.microsoft.com/azure/search/search-limits-quotas-capacity」を参照してください。 |
indexedFileNameExtensions |
string |
Azure BLOB Storage から処理するときに選択するファイル名拡張子のカンマ区切りの一覧。 たとえば、特定のアプリケーションファイル「.docx、.pptx、.msg」にインデックスを付けて、それらのファイルタイプを具体的に含めることができます。 |
|
parsingMode | default |
Azure BLOB データ ソースからのインデックス作成の解析モードを表します。 |
|
pdfTextRotationAlgorithm | none |
Azure BLOB ストレージ内の PDF ファイルからテキストを抽出するアルゴリズムを決定します。 |
|
queryTimeout |
string |
00:05:00 |
"hh:mm:ss" の形式で指定された Azure SQL データベース データ ソースの既定値 5 分を超えてタイムアウトを増やします。 |
IndexingSchedule
インデクサー実行のスケジュールを表します。
名前 | 型 | 説明 |
---|---|---|
interval |
string (duration) |
インデクサーの実行間の時間間隔。 |
startTime |
string (date-time) |
インデクサーの実行を開始する時刻。 |
SearchIndexer
インデクサーを表します。
名前 | 型 | 規定値 | 説明 |
---|---|---|---|
@odata.etag |
string |
インデクサーの ETag。 |
|
dataSourceName |
string |
このインデクサーがデータを読み取るデータソースの名前。 |
|
description |
string |
インデクサーの説明。 |
|
disabled |
boolean |
False |
インデクサーが無効になっているかどうかを示す値。 既定値は false です。 |
encryptionKey |
Azure Key Vault で作成する暗号化キーの説明。 このキーは、インデクサー定義 (およびインデクサーの実行状態) に追加レベルの保存時の暗号化を提供するために使用されます。 インデクサー定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定しようとすると無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。インデクサー定義 (およびインデクサーの実行状態) は影響を受けません。 カスタマー マネージド キーによる暗号化は、無料の検索サービスでは使用できず、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。 |
||
fieldMappings |
データソースのフィールドとインデックスの対応するターゲットフィールド間のマッピングを定義します。 |
||
name |
string |
インデクサーの名前。 |
|
outputFieldMappings |
出力フィールドのマッピングは、エンリッチ後、インデックス作成の直前に適用されます。 |
||
parameters |
インデクサー実行のパラメーター。 |
||
schedule |
このインデクサーのスケジュール。 |
||
skillsetName |
string |
このインデクサーで実行されているスキルセットの名前。 |
|
targetIndexName |
string |
このインデクサーがデータを書き込むインデックスの名前。 |
SearchResourceEncryptionKey
Azure Key Vault の顧客管理暗号化キー。 作成および管理するキーを使用して、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除を行うことができます。
名前 | 型 | 説明 |
---|---|---|
accessCredentials |
Azure Key Vault へのアクセスに使用されるオプションの Azure Active Directory 資格情報。 代わりにマネージド ID を使用する場合は必要ありません。 |
|
keyVaultKeyName |
string |
保存データの暗号化に使用する Azure Key Vault キーの名前。 |
keyVaultKeyVersion |
string |
保存データの暗号化に使用する Azure Key Vault キーのバージョン。 |
keyVaultUri |
string |
Azure Key Vault の URI (DNS 名とも呼ばれます) で、保存データの暗号化に使用するキーが含まれています。 URI の例は |