Indexers - Create Or Update
新しいインデクサーを作成するか、インデクサーが既に存在する場合は更新します。
PUT {endpoint}/indexers('{indexerName}')?api-version=2024-05-01-preview
PUT {endpoint}/indexers('{indexerName}')?api-version=2024-05-01-preview&ignoreResetRequirements={ignoreResetRequirements}&disableCacheReprocessingChangeDetection={disableCacheReprocessingChangeDetection}
URI パラメーター
名前 | / | 必須 | 型 | 説明 |
---|---|---|---|---|
endpoint
|
path | True |
string |
検索サービスのエンドポイント URL。 |
indexer
|
path | True |
string |
作成または更新するインデクサーの名前。 |
api-version
|
query | True |
string |
クライアント API のバージョン。 |
disable
|
query |
boolean |
キャッシュの再処理の変更検出を無効にします。 |
|
ignore
|
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 |
エンリッチメント パイプラインにキャッシュを追加して、インデックスを毎回再構築しなくても増分変更の手順を実行できるようにします。 |
||
description |
string |
インデクサーの説明。 |
|
disabled |
boolean |
インデクサーが無効かどうかを示す値。 既定値は false です。 |
|
encryptionKey |
Azure Key Vaultで作成する暗号化キーの説明。 このキーは、インデクサー定義の保存時の暗号化レベル (およびインデクサーの実行状態) を提供するために使用されます。これは、Microsoft 以外のユーザーが暗号化を解除できないという完全な保証が必要な場合です。 インデクサー定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定する試行を無視します。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。インデクサー定義 (およびインデクサーの実行状態) は影響を受けません。 カスタマー マネージド キーを使用した暗号化は、無料の検索サービスでは使用できません。また、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。 |
||
fieldMappings |
データ ソース内のフィールドとインデックス内の対応するターゲット フィールド間のマッピングを定義します。 |
||
outputFieldMappings |
出力フィールド マッピングは、エンリッチメントの後、インデックス作成の直前に適用されます。 |
||
parameters |
インデクサー実行のパラメーター。 |
||
schedule |
このインデクサーのスケジュール。 |
||
skillsetName |
string |
このインデクサーで実行されるスキルセットの名前。 |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
エラー応答。 |
例
SearchServiceCreateOrUpdateIndexer
要求のサンプル
PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2024-05-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
}
}
応答のサンプル
{
"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
}
}
定義
名前 | 説明 |
---|---|
Azure |
Azure Key Vaultに格納されている暗号化キーへの認証済みアクセスに使用される、検索サービス用に作成された登録済みアプリケーションの資格情報。 |
Blob |
Azure BLOB ストレージから抽出するデータを指定し、"imageAction" が "none" 以外の値に設定されている場合に、画像コンテンツから抽出するデータをインデクサーに指示します。 これは、.PDF またはその他のアプリケーションの埋め込みイメージ コンテンツ、または Azure BLOB の .jpg や .png などのイメージ ファイルに適用されます。 |
Blob |
Azure BLOB ストレージ内の埋め込みイメージとイメージ ファイルを処理する方法を決定します。 "imageAction" 構成を "none" 以外の値に設定するには、スキルセットもそのインデクサーにアタッチする必要があります。 |
Blob |
Azure BLOB データ ソースからのインデックス作成の解析モードを表します。 |
Blob |
Azure BLOB ストレージ内の PDF ファイルからのテキスト抽出のアルゴリズムを決定します。 |
Error |
リソース管理エラーの追加情報。 |
Error |
エラーの詳細。 |
Error |
エラー応答 |
Field |
データ ソース内のフィールドとインデックス内のターゲット フィールドの間のマッピングを定義します。 |
Field |
インデックスを作成する前にデータ ソースから値を変換する関数を表します。 |
Indexer |
インデクサーを実行する環境を指定します。 |
Indexing |
インデクサー実行のパラメーターを表します。 |
Indexing |
インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。 |
Indexing |
インデクサー実行のスケジュールを表します。 |
Search |
インデクサーを表します。 |
Search |
|
Search |
データソースの ID プロパティをクリアします。 |
Search |
使用するデータソースの ID を指定します。 |
Search |
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 |
通常のテキスト抽出を利用します。 既定値です。 |
ErrorAdditionalInfo
リソース管理エラーの追加情報。
名前 | 型 | 説明 |
---|---|---|
info |
object |
追加情報。 |
type |
string |
追加情報の種類。 |
ErrorDetail
エラーの詳細。
名前 | 型 | 説明 |
---|---|---|
additionalInfo |
エラーの追加情報。 |
|
code |
string |
エラー コード。 |
details |
エラーの詳細です。 |
|
message |
string |
エラー メッセージ。 |
target |
string |
エラーのターゲット。 |
ErrorResponse
エラー応答
名前 | 型 | 説明 |
---|---|---|
error |
error オブジェクト。 |
FieldMapping
データ ソース内のフィールドとインデックス内のターゲット フィールドの間のマッピングを定義します。
名前 | 型 | 説明 |
---|---|---|
mappingFunction |
インデックスを作成する前に各ソース フィールド値に適用する関数。 |
|
sourceFieldName |
string |
データ ソース内のフィールドの名前。 |
targetFieldName |
string |
インデックス内のターゲット フィールドの名前。 既定では、ソース フィールド名と同じです。 |
FieldMappingFunction
インデックスを作成する前にデータ ソースから値を変換する関数を表します。
名前 | 型 | 説明 |
---|---|---|
name |
string |
フィールド マッピング関数の名前。 |
parameters |
object |
関数に渡すパラメーター名と値のペアのディクショナリ。 各値はプリミティブ型である必要があります。 |
IndexerExecutionEnvironment
インデクサーを実行する環境を指定します。
名前 | 型 | 説明 |
---|---|---|
private |
string |
検索サービス専用にプロビジョニングされた環境でインデクサーを実行する必要があることを示します。 これは、インデクサーが共有プライベート リンク リソース経由でリソースに安全にアクセスする必要がある場合にのみ、実行環境として指定する必要があります。 |
standard |
string |
検索サービスがインデクサーを実行する場所を決定できることを示します。 これは、何も指定されていない場合の既定の環境であり、推奨される値です。 |
IndexingParameters
インデクサー実行のパラメーターを表します。
名前 | 型 | 規定値 | 説明 |
---|---|---|---|
batchSize |
integer |
パフォーマンスを向上させるために、データ ソースから読み取られ、1 つのバッチとしてインデックスが作成される項目の数。 既定値は、データ ソースの種類によって異なります。 |
|
configuration |
インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。 |
||
maxFailedItems |
integer |
0 |
インデクサーの実行が成功したと見なされるためにインデックス作成に失敗する可能性があるアイテムの最大数。 -1 は無制限を意味します。 既定値は 0 です。 |
maxFailedItemsPerBatch |
integer |
0 |
バッチのインデックス作成に失敗しても成功と見なされる可能性がある、1 つのバッチ内のアイテムの最大数。 -1 は無制限を意味します。 既定値は 0 です。 |
IndexingParametersConfiguration
インデクサー固有の構成プロパティのディクショナリ。 各名前は、特定のプロパティの名前です。 各値はプリミティブ型である必要があります。
名前 | 型 | 規定値 | 説明 |
---|---|---|---|
allowSkillsetToReadFileData |
boolean |
False |
true の場合、BLOB データ ソースからダウンロードされた元のファイル データを表すオブジェクトであるパス //document//file_data が作成されます。 これにより、エンリッチメント パイプライン内で処理するためのカスタム スキルまたはドキュメント抽出スキルに、元のファイル データを渡すことができます。 |
dataToExtract | 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 | standard |
インデクサーを実行する環境を指定します。 |
|
failOnUnprocessableDocument |
boolean |
False |
Azure BLOB の場合、ドキュメントのインデックス作成に失敗した場合にインデックス作成を続行する場合は false に設定します。 |
failOnUnsupportedContentType |
boolean |
False |
Azure BLOB の場合、サポートされていないコンテンツ タイプが見つかったときにインデックス作成を続行し、すべてのコンテンツ タイプ (ファイル拡張子) を事前に把握していない場合は、false に設定します。 |
firstLineContainsHeaders |
boolean |
True |
CSV BLOB の場合、 は、各 BLOB の最初の (空白以外の) 行にヘッダーが含まれていることを示します。 |
imageAction | 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 | default |
Azure BLOB データ ソースからのインデックス作成の解析モードを表します。 |
|
pdfTextRotationAlgorithm | none |
Azure BLOB ストレージ内の PDF ファイルからのテキスト抽出のアルゴリズムを決定します。 |
|
queryTimeout |
string |
00:05:00 |
"hh:mm:ss" の形式で指定された、Azure SQLデータベース データ ソースの 5 分間の既定値を超えてタイムアウトを増やします。 |
IndexingSchedule
インデクサー実行のスケジュールを表します。
名前 | 型 | 説明 |
---|---|---|
interval |
string |
インデクサーの実行間隔。 |
startTime |
string |
インデクサーの実行を開始する時刻。 |
SearchIndexer
インデクサーを表します。
名前 | 型 | 規定値 | 説明 |
---|---|---|---|
@odata.etag |
string |
インデクサーの ETag。 |
|
cache |
エンリッチメント パイプラインにキャッシュを追加して、インデックスを毎回再構築しなくても増分変更の手順を実行できるようにします。 |
||
dataSourceName |
string |
このインデクサーがデータを読み取るデータソースの名前。 |
|
description |
string |
インデクサーの説明。 |
|
disabled |
boolean |
False |
インデクサーが無効かどうかを示す値。 既定値は false です。 |
encryptionKey |
Azure Key Vaultで作成する暗号化キーの説明。 このキーは、インデクサー定義の保存時の暗号化レベル (およびインデクサーの実行状態) を提供するために使用されます。これは、Microsoft 以外のユーザーが暗号化を解除できないという完全な保証が必要な場合です。 インデクサー定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定する試行を無視します。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。インデクサー定義 (およびインデクサーの実行状態) は影響を受けません。 カスタマー マネージド キーを使用した暗号化は、無料の検索サービスでは使用できません。また、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。 |
||
fieldMappings |
データ ソース内のフィールドとインデックス内の対応するターゲット フィールド間のマッピングを定義します。 |
||
name |
string |
インデクサーの名前。 |
|
outputFieldMappings |
出力フィールド マッピングは、エンリッチメントの後、インデックス作成の直前に適用されます。 |
||
parameters |
インデクサー実行のパラメーター。 |
||
schedule |
このインデクサーのスケジュール。 |
||
skillsetName |
string |
このインデクサーで実行されるスキルセットの名前。 |
|
targetIndexName |
string |
このインデクサーがデータを書き込むインデックスの名前。 |
SearchIndexerCache
名前 | 型 | 説明 |
---|---|---|
enableReprocessing |
boolean |
増分再処理を有効にするかどうかを指定します。 |
identity | SearchIndexerDataIdentity: |
エンリッチメント キャッシュへの接続に使用されるユーザー割り当てマネージド ID。 接続文字列が ID (ResourceId) を示し、指定されていない場合は、システム割り当てマネージド ID が使用されます。 インデクサーの更新時に、ID が指定されていない場合、値は変更されません。 "none" に設定すると、このプロパティの値はクリアされます。 |
storageConnectionString |
string |
キャッシュ データが永続化されるストレージ アカウントへの接続文字列。 |
SearchIndexerDataNoneIdentity
データソースの ID プロパティをクリアします。
名前 | 型 | 説明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
ID の種類を指定する URI フラグメント。 |
SearchIndexerDataUserAssignedIdentity
使用するデータソースの ID を指定します。
名前 | 型 | 説明 |
---|---|---|
@odata.type |
string:
#Microsoft. |
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 |
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 の例として、 |