次の方法で共有


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

SearchResourceEncryptionKey

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

fieldMappings

FieldMapping[]

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

outputFieldMappings

FieldMapping[]

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

parameters

IndexingParameters

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

schedule

IndexingSchedule

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

skillsetName

string

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

応答

名前 説明
201 Created

SearchIndexer

Other Status Codes

ErrorResponse

エラー応答。

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

定義

名前 説明
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 ファイルからテキストを抽出するためのアルゴリズムを決定します。

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 ストレージから抽出するデータを指定し、"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

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

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

名前 説明
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 ファイルの行末の単一文字区切り記号を指定します。

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://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

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

startTime

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