Share via


Indexers - Create Or Update

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

PUT {endpoint}/indexers('{indexerName}')?api-version=2023-11-01

URI パラメーター

名前 / 必須 説明
endpoint
path True

string

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

indexerName
path True

string

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

api-version
query True

string

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

要求ヘッダー

名前 必須 説明
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。

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-11-01


{
  "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

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

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 ストレージ内のプレーン テキスト ファイルのインデックス作成のパフォーマンスを向上させるには、text に設定します。

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。

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

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

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