次の方法で共有


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

SearchResourceEncryptionKey

Azure Key Vault で作成する暗号化キーの説明。 このキーは、インデクサー定義 (およびインデクサーの実行状態) に追加レベルの保存時の暗号化を提供するために使用されます。 インデクサー定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定しようとすると無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。インデクサー定義 (およびインデクサーの実行状態) は影響を受けません。 カスタマー マネージド キーによる暗号化は、無料の検索サービスでは使用できず、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。

fieldMappings

FieldMapping[]

データソースのフィールドとインデックスの対応するターゲットフィールド間のマッピングを定義します。

outputFieldMappings

FieldMapping[]

出力フィールドのマッピングは、エンリッチ後、インデックス作成の直前に適用されます。

parameters

IndexingParameters

インデクサー実行のパラメーター。

schedule

IndexingSchedule

このインデクサーのスケジュール。

skillsetName

string

このインデクサーで実行されているスキルセットの名前。

応答

名前 説明
201 Created

SearchIndexer

Other Status Codes

ErrorResponse

エラー応答。

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"
      }
    }
  ]
}

定義

名前 説明
AzureActiveDirectoryApplicationCredentials

検索サービス用に作成された登録済みアプリケーションの資格情報で、Azure Key Vault に格納されている暗号化キーへの認証済みアクセスに使用されます。

BlobIndexerDataToExtract

Azure BLOB Storage から抽出するデータを指定し、"imageAction" が "none" 以外の値に設定されている場合に、画像コンテンツから抽出するデータをインデクサーに指示します。 これは、.PDF またはその他のアプリケーションに埋め込まれた画像コンテンツ、または Azure BLOB 内の .jpg や .pngなどの画像ファイルに適用されます。

BlobIndexerImageAction

Azure BLOB Storage 内の埋め込みイメージとイメージ ファイルを処理する方法を決定します。 "imageAction" 構成を "none" 以外の値に設定するには、スキルセットもそのインデクサーにアタッチする必要があります。

BlobIndexerParsingMode

Azure BLOB データ ソースからのインデックス作成の解析モードを表します。

BlobIndexerPDFTextRotationAlgorithm

Azure BLOB ストレージ内の PDF ファイルからテキストを抽出するアルゴリズムを決定します。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

ErrorDetail

エラーの詳細。

ErrorResponse

エラー応答

FieldMapping

データソースのフィールドとインデックスのターゲットフィールドの間のマッピングを定義します。

FieldMappingFunction

インデックス作成前にデータ ソースから値を変換する関数を表します。

IndexerExecutionEnvironment

インデクサーを実行する環境を指定します。

IndexingParameters

インデクサー実行のパラメーターを表します。

IndexingParametersConfiguration

インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。

IndexingSchedule

インデクサー実行のスケジュールを表します。

SearchIndexer

インデクサーを表します。

SearchResourceEncryptionKey

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

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

ErrorDetail[]

エラーの詳細。

message

string

エラー メッセージ。

target

string

エラーターゲット。

ErrorResponse

エラー応答

名前 説明
error

ErrorDetail

エラー オブジェクト。

FieldMapping

データソースのフィールドとインデックスのターゲットフィールドの間のマッピングを定義します。

名前 説明
mappingFunction

FieldMappingFunction

インデックス作成前に各ソースフィールド値に適用する関数。

sourceFieldName

string

データ ソース内のフィールドの名前。

targetFieldName

string

インデックス内のターゲットフィールドの名前。 デフォルトでは、ソースフィールド名と同じです。

FieldMappingFunction

インデックス作成前にデータ ソースから値を変換する関数を表します。

名前 説明
name

string

フィールドマッピング関数の名前。

parameters

object

関数に渡すパラメータ名と値のペアのディクショナリ。 各値はプリミティブ型である必要があります。

IndexerExecutionEnvironment

インデクサーを実行する環境を指定します。

説明
standard

検索サービスがインデクサーを実行する場所を決定できることを示します。 これは、何も指定されていない場合のデフォルト環境であり、推奨値です。

private

インデクサーは、検索サービス専用にプロビジョニングされた環境で実行する必要があることを示します。 これは、インデクサーが共有プライベート リンク リソースを介してリソースに安全にアクセスする必要がある場合にのみ、実行環境として指定する必要があります。

IndexingParameters

インデクサー実行のパラメーターを表します。

名前 規定値 説明
batchSize

integer (int32)

パフォーマンスを向上させるために、データ ソースから読み取られ、1 つのバッチとしてインデックスが作成される項目の数。 デフォルトは、データソースの種類によって異なります。

configuration

IndexingParametersConfiguration

インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。

maxFailedItems

integer (int32)

0

インデクサーの実行が成功したと見なされるインデックス作成に失敗する可能性のある項目の最大数。 -1は制限がないことを意味します。 既定値は 0 です。

maxFailedItemsPerBatch

integer (int32)

0

バッチのインデックス作成に失敗する可能性がある 1 つのバッチ内の項目の最大数は、それでも成功したと見なされます。 -1は制限がないことを意味します。 既定値は 0 です。

IndexingParametersConfiguration

インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。

名前 規定値 説明
allowSkillsetToReadFileData

boolean

False

true の場合、BLOB データ ソースからダウンロードされた元のファイル データを表すオブジェクトであるパス //document//file_data を作成します。 これにより、元のファイル・データをエンリッチメント・パイプライン内で処理するためのカスタム・スキル、またはドキュメント抽出スキルに渡すことができます。

dataToExtract

BlobIndexerDataToExtract

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

IndexerExecutionEnvironment

standard

インデクサーを実行する環境を指定します。

failOnUnprocessableDocument

boolean

False

Azure BLOB の場合、ドキュメントのインデックス作成に失敗した場合にインデックス作成を続行する場合は、false に設定します。

failOnUnsupportedContentType

boolean

False

Azure BLOB の場合、サポートされていないコンテンツ タイプが検出され、すべてのコンテンツ タイプ (ファイル拡張子) が事前にわからない場合にインデックス作成を続行する場合は、false に設定します。

firstLineContainsHeaders

boolean

True

CSV BLOB の場合、各 BLOB の最初の (空白ではない) 行にヘッダーが含まれていることを示します。

imageAction

BlobIndexerImageAction

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

BlobIndexerParsingMode

default

Azure BLOB データ ソースからのインデックス作成の解析モードを表します。

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

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

SearchResourceEncryptionKey

Azure Key Vault で作成する暗号化キーの説明。 このキーは、インデクサー定義 (およびインデクサーの実行状態) に追加レベルの保存時の暗号化を提供するために使用されます。 インデクサー定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定しようとすると無視されます。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。インデクサー定義 (およびインデクサーの実行状態) は影響を受けません。 カスタマー マネージド キーによる暗号化は、無料の検索サービスでは使用できず、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。

fieldMappings

FieldMapping[]

データソースのフィールドとインデックスの対応するターゲットフィールド間のマッピングを定義します。

name

string

インデクサーの名前。

outputFieldMappings

FieldMapping[]

出力フィールドのマッピングは、エンリッチ後、インデックス作成の直前に適用されます。

parameters

IndexingParameters

インデクサー実行のパラメーター。

schedule

IndexingSchedule

このインデクサーのスケジュール。

skillsetName

string

このインデクサーで実行されているスキルセットの名前。

targetIndexName

string

このインデクサーがデータを書き込むインデックスの名前。

SearchResourceEncryptionKey

Azure Key Vault の顧客管理暗号化キー。 作成および管理するキーを使用して、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除を行うことができます。

名前 説明
accessCredentials

AzureActiveDirectoryApplicationCredentials

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 の例は https://my-keyvault-name.vault.azure.net です。