Indexers - Create
新しいインデクサーを作成します。
POST {endpoint}/indexers?api-version=2024-07-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 で作成する暗号化キーの説明。 このキーは、インデクサー定義 (およびインデクサーの実行状態) に追加のレベルの保存時暗号化を提供するために使用されます。これは、Microsoft 以外のユーザーが暗号化を解除できないという完全な保証が必要な場合です。 インデクサー定義を暗号化すると、常に暗号化されたままになります。 検索サービスは、このプロパティを null に設定する試行を無視します。 暗号化キーをローテーションする場合は、必要に応じてこのプロパティを変更できます。インデクサー定義 (およびインデクサーの実行状態) は影響を受けません。 カスタマー マネージド キーを使用した暗号化は、無料の検索サービスでは使用できません。また、2019 年 1 月 1 日以降に作成された有料サービスでのみ使用できます。 |
||
fieldMappings |
データ ソース内のフィールドとインデックス内の対応するターゲット フィールド間のマッピングを定義します。 |
||
outputFieldMappings |
出力フィールド マッピングは、エンリッチメントの後、インデックス作成の直前に適用されます。 |
||
parameters |
インデクサー実行のパラメーター。 |
||
schedule |
このインデクサーのスケジュール。 |
||
skillsetName |
string |
このインデクサーで実行されているスキルセットの名前。 |
応答
名前 | 型 | 説明 |
---|---|---|
201 Created | ||
Other Status Codes |
エラー応答。 |
例
SearchServiceCreateIndexer
要求のサンプル
POST https://myservice.search.windows.net/indexers?api-version=2024-07-01
{
"name": "myindexer",
"description": "an 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": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": "<applicationSecret>"
}
}
}
応答のサンプル
{
"name": "myindexer",
"description": "an 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": {
"applicationId": "00000000-0000-0000-0000-000000000000",
"applicationSecret": 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 |
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 にのみ適用されます。 回転したテキストが PDF の埋め込み画像内に表示される場合、このパラメーターは適用されません。 |
none |
string |
通常のテキスト抽出を利用します。 これが既定値です。 |
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
インデクサーを実行する環境を指定します。
名前 | 型 | 説明 |
---|---|---|
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 ファイルの行末の単一文字区切り記号を指定します。 |
|
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://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 |
インデクサーの実行間隔。 |
startTime |
string |
インデクサーの実行を開始する時刻。 |
SearchIndexer
インデクサーを表します。
名前 | 型 | 規定値 | 説明 |
---|---|---|---|
@odata.etag |
string |
インデクサーの ETag。 |
|
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 |
このインデクサーがデータを書き込むインデックスの名前。 |
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 の例は、 |