Indexers - Create Or Update

新しいインデクサーを作成するか、インデクサーが既に存在する場合は更新します。

PUT {endpoint}/indexers('{indexerName}')?api-version=2023-10-01-Preview
PUT {endpoint}/indexers('{indexerName}')?api-version=2023-10-01-Preview&ignoreResetRequirements={ignoreResetRequirements}&disableCacheReprocessingChangeDetection={disableCacheReprocessingChangeDetection}

URI パラメーター

名前 / 必須 説明
endpoint
path True

string

検索サービスのエンドポイント URL。

indexerName
path True

string

作成または更新するインデクサーの名前。

api-version
query True

string

クライアント API のバージョン。

disableCacheReprocessingChangeDetection
query

boolean

キャッシュの再処理の変更検出を無効にします。

ignoreResetRequirements
query

boolean

キャッシュ リセットの要件を無視します。

要求ヘッダー

名前 必須 説明
x-ms-client-request-id

string

uuid

デバッグに役立つ要求と共に送信される追跡 ID。

If-Match

string

If-Match 条件を定義します。 操作は、サーバー上の ETag がこの値と一致する場合にのみ実行されます。

If-None-Match

string

If-None-Match 条件を定義します。 操作は、サーバー上の ETag がこの値と一致しない場合にのみ実行されます。

Prefer True

string

HTTP PUT 要求の場合は、正常に作成/更新されたリソースを返すようにサービスに指示します。

要求本文

名前 必須 説明
dataSourceName True

string

このインデクサーがデータを読み取るデータソースの名前。

name True

string

インデクサーの名前。

targetIndexName True

string

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

@odata.etag

string

インデクサーの ETag。

cache

SearchIndexerCache

エンリッチメント パイプラインにキャッシュを追加して、インデックスを毎回再構築しなくても増分変更の手順を実行できるようにします。

description

string

インデクサーの説明。

disabled

boolean

インデクサーが無効かどうかを示す値。 既定値は false です。

encryptionKey

SearchResourceEncryptionKey

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

fieldMappings

FieldMapping[]

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

outputFieldMappings

FieldMapping[]

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

parameters

IndexingParameters

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

schedule

IndexingSchedule

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

skillsetName

string

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

応答

名前 説明
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

SearchError

エラー応答。

SearchServiceCreateOrUpdateIndexer

Sample Request

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2023-10-01-Preview


{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

Sample Response

{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}
{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

定義

名前 説明
AzureActiveDirectoryApplicationCredentials

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

BlobIndexerDataToExtract

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

BlobIndexerImageAction

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

BlobIndexerParsingMode

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

BlobIndexerPDFTextRotationAlgorithm

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

FieldMapping

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

FieldMappingFunction

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

IndexerExecutionEnvironment

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

IndexingParameters

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

IndexingParametersConfiguration

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

IndexingSchedule

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

SearchError

API のエラー条件について説明します。

SearchIndexer

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

SearchIndexerCache
SearchIndexerDataNoneIdentity

データソースの ID プロパティをクリアします。

SearchIndexerDataUserAssignedIdentity

使用するデータソースの ID を指定します。

SearchResourceEncryptionKey

Azure Key Vaultのカスタマー マネージド暗号化キー。 作成および管理するキーは、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除に使用できます。

AzureActiveDirectoryApplicationCredentials

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

名前 説明
applicationId

string

保存データの暗号化時に使用される Azure Key Vaultに必要なアクセス許可が付与された AAD アプリケーション ID。 アプリケーション ID は、AAD アプリケーションのオブジェクト ID と混同しないでください。

applicationSecret

string

指定した AAD アプリケーションの認証キー。

BlobIndexerDataToExtract

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

名前 説明
allMetadata

string

Azure BLOB ストレージ サブシステムによって提供されるメタデータとコンテンツ タイプ固有のメタデータ (たとえば、.png ファイルのみに固有のメタデータがインデックス付けされます) を抽出します。

contentAndMetadata

string

各 BLOB からすべてのメタデータとテキスト コンテンツを抽出します。

storageMetadata

string

標準の BLOB プロパティとユーザー指定のメタデータのみにインデックスを作成します。

BlobIndexerImageAction

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

名前 説明
generateNormalizedImagePerPage

string

画像からテキストを抽出し (たとえば、トラフィック停止記号から "STOP" という単語)、コンテンツ フィールドに埋め込みますが、PDF ファイルは、埋め込み画像を抽出するのではなく、各ページが画像としてレンダリングされ、それに応じて正規化されるという点で異なる方法で扱われます。 PDF 以外のファイルの種類は、"generateNormalizedImages" が設定されている場合と同じように扱われます。

generateNormalizedImages

string

画像からテキストを抽出し (たとえば、トラフィック停止記号から "STOP" という単語)、コンテンツ フィールドに埋め込みます。 このアクションでは、"dataToExtract" が "contentAndMetadata" に設定されている必要があります。 正規化された画像とは、画像を視覚的な検索結果に含めるときに一貫したレンダリングを促進するためにサイズ設定され、回転される、均一な画像出力をもたらす追加の処理を指します。 このオプションを使用すると、各画像に対してこの情報が生成されます。

none

string

データ セット内の埋め込みイメージまたはイメージ ファイルを無視します。 既定値です。

BlobIndexerParsingMode

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

名前 説明
default

string

通常のファイル処理の場合は、既定値に設定します。

delimitedText

string

BLOB がプレーン CSV ファイルの場合は、delimitedText に設定します。

json

string

JSON ファイルから構造化コンテンツを抽出するには、json に設定します。

jsonArray

string

JSON 配列の個々の要素を個別のドキュメントとして抽出するには、jsonArray に設定します。

jsonLines

string

jsonLines に設定すると、個別のドキュメントとして、新しい行で区切られた個々の JSON エンティティが抽出されます。

text

string

BLOB ストレージ内のプレーン テキスト ファイルのインデックス作成のパフォーマンスを向上させるには、テキストに設定します。

BlobIndexerPDFTextRotationAlgorithm

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

名前 説明
detectAngles

string

テキストを回転させた PDF ファイルから、読みやすく読みやすいテキスト抽出が生成される場合があります。 このパラメーターを使用すると、パフォーマンス速度への影響が小さくなる可能性があることに注意してください。 このパラメーターは PDF ファイルにのみ適用され、テキストが埋め込まれた PDF にのみ適用されます。 回転したテキストが PDF の埋め込み画像内に表示される場合、このパラメーターは適用されません。

none

string

通常のテキスト抽出を利用します。 既定値です。

FieldMapping

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

名前 説明
mappingFunction

FieldMappingFunction

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

sourceFieldName

string

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

targetFieldName

string

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

FieldMappingFunction

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

名前 説明
name

string

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

parameters

object

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

IndexerExecutionEnvironment

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

名前 説明
private

string

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

standard

string

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

IndexingParameters

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

名前 既定値 説明
batchSize

integer

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

configuration

IndexingParametersConfiguration

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

maxFailedItems

integer

0

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

maxFailedItemsPerBatch

integer

0

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

IndexingParametersConfiguration

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

名前 既定値 説明
allowSkillsetToReadFileData

boolean

False

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

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

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

delimitedTextDelimiter

string

CSV BLOB の場合は、各行が新しいドキュメントを開始する CSV ファイルの行末の 1 文字区切り記号 ("|"など) を指定します。

delimitedTextHeaders

string

CSV BLOB の場合は、列ヘッダーのコンマ区切りのリストを指定します。これは、ソース フィールドをインデックス内の宛先フィールドにマッピングする場合に便利です。

documentRoot

string

JSON 配列の場合、構造化ドキュメントまたは半構造化ドキュメントを指定すると、このプロパティを使用して配列へのパスを指定できます。

excludedFileNameExtensions

string

Azure BLOB ストレージからの処理時に無視するファイル名拡張子のコンマ区切りの一覧。 たとえば、インデックス作成中にこれらのファイルをスキップするために、".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 ストレージ内の埋め込みイメージとイメージ ファイルを処理する方法を決定します。 "imageAction" 構成を "none" 以外の値に設定するには、スキルセットもそのインデクサーにアタッチする必要があります。

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Azure BLOB の場合、処理するには大きすぎる BLOB コンテンツのストレージ メタデータのインデックスを作成するには、このプロパティを true に設定します。 サイズが大きい BLOB は、既定ではエラーとして扱われます。 BLOB サイズの制限については、「」を参照してください https://docs.microsoft.com/azure/search/search-limits-quotas-capacity

indexedFileNameExtensions

string

Azure BLOB ストレージから処理するときに選択するファイル名拡張子のコンマ区切りの一覧。 たとえば、インデックス作成を特定のアプリケーション ファイル ".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

インデクサーの実行間隔。

startTime

string

インデクサーの実行を開始する時刻。

SearchError

API のエラー条件について説明します。

名前 説明
code

string

サーバー定義のエラー コードのセットの 1 つ。

details

SearchError[]

この報告されたエラーの原因となった特定のエラーに関する詳細の配列。

message

string

エラーの人間が判読できる表現。

SearchIndexer

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

名前 既定値 説明
@odata.etag

string

インデクサーの ETag。

cache

SearchIndexerCache

エンリッチメント パイプラインにキャッシュを追加して、インデックスを毎回再構築することなく増分変更手順を実行できるようにします。

dataSourceName

string

このインデクサーがデータを読み取るデータソースの名前。

description

string

インデクサーの説明。

disabled

boolean

False

インデクサーが無効かどうかを示す値。 既定値は false です。

encryptionKey

SearchResourceEncryptionKey

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

fieldMappings

FieldMapping[]

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

name

string

インデクサーの名前。

outputFieldMappings

FieldMapping[]

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

parameters

IndexingParameters

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

schedule

IndexingSchedule

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

skillsetName

string

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

targetIndexName

string

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

SearchIndexerCache

名前 説明
enableReprocessing

boolean

増分再処理を有効にするかどうかを指定します。

identity SearchIndexerDataIdentity:

エンリッチメント キャッシュへの接続に使用されるユーザー割り当てマネージド ID。 接続文字列が ID (ResourceId) を示し、指定されていない場合は、システム割り当てマネージド ID が使用されます。 インデクサーの更新時に、ID が指定されていない場合、値は変更されません。 "none" に設定すると、このプロパティの値はクリアされます。

storageConnectionString

string

キャッシュ データが永続化されるストレージ アカウントへの接続文字列。

SearchIndexerDataNoneIdentity

データソースの ID プロパティをクリアします。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

ID の種類を指定する URI フラグメント。

SearchIndexerDataUserAssignedIdentity

使用するデータソースの ID を指定します。

名前 説明
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

ID の種類を指定する URI フラグメント。

userAssignedIdentity

string

通常、ユーザー割り当てマネージド ID の完全修飾 Azure リソース ID は、検索サービスに割り当てられている必要がある "/subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId" という形式です。

SearchResourceEncryptionKey

Azure Key Vaultのカスタマー マネージド暗号化キー。 作成および管理するキーは、インデックスやシノニム マップなどの保存データの暗号化または暗号化解除に使用できます。

名前 説明
accessCredentials

AzureActiveDirectoryApplicationCredentials

Azure Key Vaultへのアクセスに使用されるオプションの Azure Active Directory 資格情報。 代わりにマネージド ID を使用する場合は必須ではありません。

identity SearchIndexerDataIdentity:

この暗号化キーに使用する明示的なマネージド ID。 指定せず、アクセス資格情報プロパティが null の場合は、システム割り当てマネージド ID が使用されます。 リソースの更新時に、明示的な ID が指定されていない場合は、変更されません。 "none" が指定されている場合、このプロパティの値はクリアされます。

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 があります。