Udostępnij przez


Indexers - Create

Tworzy nowy indeksator.

POST {endpoint}/indexers?api-version=2025-09-01

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
endpoint
path True

string

Adres URL punktu końcowego usługi wyszukiwania.

api-version
query True

string

Wersja interfejsu API klienta.

Nagłówek żądania

Nazwa Wymagane Typ Opis
x-ms-client-request-id

string (uuid)

Identyfikator śledzenia wysłany z żądaniem, aby pomóc w debugowaniu.

Treść żądania

Nazwa Wymagane Typ Opis
dataSourceName True

string

Nazwa źródła danych, z którego ten indeksator odczytuje dane.

name True

string

Nazwa indeksatora.

targetIndexName True

string

Nazwa indeksu, do którego ten indeksator zapisuje dane.

@odata.etag

string

Element ETag indeksatora.

description

string

Opis indeksatora.

disabled

boolean

Wartość wskazująca, czy indeksator jest wyłączony. Wartość domyślna to „false”.

encryptionKey

SearchResourceEncryptionKey

Opis klucza szyfrowania utworzonego w usłudze Azure Key Vault. Ten klucz jest używany w celu zapewnienia dodatkowego poziomu szyfrowania magazynowanych dla definicji indeksatora (a także stanu wykonywania indeksatora), gdy chcesz mieć pełną pewność, że nikt, nawet firma Microsoft, nie może ich odszyfrować. Po zaszyfrowaniu definicji indeksatora zawsze pozostanie ona zaszyfrowana. Usługa wyszukiwania zignoruje próby ustawienia tej właściwości na wartość null. Możesz zmienić tę właściwość zgodnie z potrzebami, jeśli chcesz obrócić klucz szyfrowania; Definicja indeksatora (i stan wykonywania indeksatora) nie będzie miała wpływu. Szyfrowanie za pomocą kluczy zarządzanych przez klienta nie jest dostępne w przypadku bezpłatnych usług wyszukiwania i jest dostępne tylko w przypadku płatnych usług utworzonych 1 stycznia 2019 r. lub później.

fieldMappings

FieldMapping[]

Definiuje mapowania między polami w źródle danych i odpowiadającymi im polami docelowymi w indeksie.

outputFieldMappings

FieldMapping[]

Mapowania pól wyjściowych są stosowane po wzbogaceniu i bezpośrednio przed indeksowaniem.

parameters

IndexingParameters

Parametry wykonywania indeksatora.

schedule

IndexingSchedule

Harmonogram dla tego indeksatora.

skillsetName

string

Nazwa zestawu umiejętności wykonywanego za pomocą tego indeksatora.

Odpowiedzi

Nazwa Typ Opis
201 Created

SearchIndexer

Other Status Codes

ErrorResponse

Odpowiedź na błąd.

Przykłady

SearchServiceCreateIndexer

Przykładowe żądanie

POST https://stableexampleservice.search.windows.net/indexers?api-version=2025-09-01


{
  "name": "myindexer",
  "description": "Description of the indexer",
  "dataSourceName": "mydocdbdatasource",
  "skillsetName": "myskillset",
  "targetIndexName": "stable-test",
  "schedule": {
    "interval": "P1D",
    "startTime": "2025-01-07T19:30:00Z"
  },
  "parameters": {
    "batchSize": 10,
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5,
    "configuration": {
      "excludedFileNameExtensions": ".png,.mp4",
      "indexedFileNameExtensions": ".docx,.pptx",
      "failOnUnsupportedContentType": true,
      "failOnUnprocessableDocument": false,
      "indexStorageMetadataOnlyForOversizedDocuments": true,
      "delimitedTextHeaders": "Header1,Header2",
      "delimitedTextDelimiter": "|",
      "firstLineContainsHeaders": true,
      "documentRoot": "/root",
      "dataToExtract": "storageMetadata",
      "imageAction": "none",
      "allowSkillsetToReadFileData": false,
      "pdfTextRotationAlgorithm": "none",
      "executionEnvironment": "standard"
    }
  },
  "fieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ],
  "outputFieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ],
  "disabled": false,
  "@odata.etag": "0x1234568AE7E58A1"
}

Przykładowa odpowiedź

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "myindexer",
  "description": "Description of the indexer",
  "dataSourceName": "mydocdbdatasource",
  "skillsetName": "myskillset",
  "targetIndexName": "stable-test",
  "disabled": false,
  "schedule": {
    "interval": "P1D",
    "startTime": "2024-06-06T00:01:50.265Z"
  },
  "parameters": {
    "batchSize": 10,
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5,
    "configuration": {
      "excludedFileNameExtensions": ".png,.mp4",
      "indexedFileNameExtensions": ".docx,.pptx",
      "failOnUnsupportedContentType": true,
      "failOnUnprocessableDocument": false,
      "indexStorageMetadataOnlyForOversizedDocuments": true,
      "delimitedTextHeaders": "Header1,Header2",
      "delimitedTextDelimiter": "|",
      "firstLineContainsHeaders": true,
      "documentRoot": "/root",
      "dataToExtract": "storageMetadata",
      "imageAction": "none",
      "allowSkillsetToReadFileData": false,
      "pdfTextRotationAlgorithm": "none",
      "executionEnvironment": "standard"
    }
  },
  "fieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ],
  "outputFieldMappings": [
    {
      "sourceFieldName": "/document",
      "targetFieldName": "name",
      "mappingFunction": {
        "name": "base64Encode"
      }
    }
  ]
}

Definicje

Nazwa Opis
AzureActiveDirectoryApplicationCredentials

Poświadczenia zarejestrowanej aplikacji utworzonej dla usługi wyszukiwania, używanej do uwierzytelnionego dostępu do kluczy szyfrowania przechowywanych w usłudze Azure Key Vault.

BlobIndexerDataToExtract

Określa dane do wyodrębnienia z usługi Azure Blob Storage i informuje indeksator, które dane mają zostać wyodrębnione z zawartości obrazu, gdy wartość "imageAction" jest ustawiona na wartość inną niż "none". Dotyczy to osadzonej zawartości obrazu w .PDF lub innej aplikacji albo plików obrazów, takich jak .jpg i .pngw obiektach blob platformy Azure.

BlobIndexerImageAction

Określa sposób przetwarzania osadzonych obrazów i plików obrazów w usłudze Azure Blob Storage. Ustawienie konfiguracji "imageAction" na dowolną wartość inną niż "none" wymaga, aby zestaw umiejętności był również dołączony do tego indeksatora.

BlobIndexerParsingMode

Reprezentuje tryb analizowania indeksowania ze źródła danych obiektów blob platformy Azure.

BlobIndexerPDFTextRotationAlgorithm

Określa algorytm wyodrębniania tekstu z plików PDF w usłudze Azure Blob Storage.

ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

ErrorDetail

Szczegóły błędu.

ErrorResponse

Odpowiedź na błąd

FieldMapping

Definiuje mapowanie między polem w źródle danych a polem docelowym w indeksie.

FieldMappingFunction

Reprezentuje funkcję, która przekształca wartość ze źródła danych przed indeksowaniem.

IndexerExecutionEnvironment

Określa środowisko, w którym indeksator powinien być wykonywany.

IndexingParameters

Reprezentuje parametry wykonywania indeksatora.

IndexingParametersConfiguration

Słownik właściwości konfiguracji specyficznych dla indeksatora. Każda nazwa jest nazwą określonej właściwości. Każda wartość musi być typu pierwotnego.

IndexingSchedule

Reprezentuje harmonogram wykonywania indeksatora.

SearchIndexer

Reprezentuje indeksator.

SearchResourceEncryptionKey

Klucz szyfrowania zarządzany przez klienta w usłudze Azure Key Vault. Klucze, które tworzysz i którymi zarządzasz, mogą służyć do szyfrowania lub odszyfrowywania danych magazynowanych, takich jak indeksy i mapy synonimów.

AzureActiveDirectoryApplicationCredentials

Poświadczenia zarejestrowanej aplikacji utworzonej dla usługi wyszukiwania, używanej do uwierzytelnionego dostępu do kluczy szyfrowania przechowywanych w usłudze Azure Key Vault.

Nazwa Typ Opis
applicationId

string

Identyfikator aplikacji usługi AAD, któremu udzielono wymaganych uprawnień dostępu do usługi Azure Key Vault, który ma być używany podczas szyfrowania danych magazynowanych. Identyfikatora aplikacji nie należy mylić z identyfikatorem obiektu aplikacji usługi AAD.

applicationSecret

string

Klucz uwierzytelniania określonej aplikacji usługi AAD.

BlobIndexerDataToExtract

Określa dane do wyodrębnienia z usługi Azure Blob Storage i informuje indeksator, które dane mają zostać wyodrębnione z zawartości obrazu, gdy wartość "imageAction" jest ustawiona na wartość inną niż "none". Dotyczy to osadzonej zawartości obrazu w .PDF lub innej aplikacji albo plików obrazów, takich jak .jpg i .pngw obiektach blob platformy Azure.

Wartość Opis
storageMetadata

Indeksuje tylko standardowe właściwości obiektu blob i metadane określone przez użytkownika.

allMetadata

Wyodrębnia metadane dostarczone przez podsystem usługi Azure Blob Storage i metadane specyficzne dla typu zawartości (na przykład metadane unikatowe tylko dla .png plików są indeksowane).

contentAndMetadata

Wyodrębnia wszystkie metadane i zawartość tekstową z każdego obiektu blob.

BlobIndexerImageAction

Określa sposób przetwarzania osadzonych obrazów i plików obrazów w usłudze Azure Blob Storage. Ustawienie konfiguracji "imageAction" na dowolną wartość inną niż "none" wymaga, aby zestaw umiejętności był również dołączony do tego indeksatora.

Wartość Opis
none

Ignoruje osadzone obrazy lub pliki obrazów w zestawie danych. Jest to opcja domyślna.

generateNormalizedImages

Wyodrębnia tekst z obrazów (na przykład słowa "STOP" ze znaku zakazu ruchu) i osadza go w polu zawartości. Ta akcja wymaga, aby wartość "dataToExtract" była ustawiona na wartość "contentAndMetadata". Znormalizowany obraz odnosi się do dodatkowego przetwarzania, w wyniku którego uzyskuje się jednolity obraz wyjściowy, którego rozmiar i obrót zapewnia spójne renderowanie podczas dołączania obrazów do wizualnych wyników wyszukiwania. Te informacje są generowane dla każdego obrazu podczas korzystania z tej opcji.

generateNormalizedImagePerPage

Wyodrębnia tekst z obrazów (na przykład słowo "STOP" ze znaku zakazu ruchu) i osadza go w polu zawartości, ale traktuje pliki PDF inaczej, ponieważ każda strona jest renderowana jako obraz i odpowiednio znormalizowana, zamiast wyodrębniać osadzone obrazy. Typy plików innych niż PDF będą traktowane tak samo, jak w przypadku ustawienia "generateNormalizedImages".

BlobIndexerParsingMode

Reprezentuje tryb analizowania indeksowania ze źródła danych obiektów blob platformy Azure.

Wartość Opis
default

Ustawione na domyślne dla normalnego przetwarzania plików.

text

Ustaw wartość text, aby zwiększyć wydajność indeksowania plików zwykłego tekstu w usłudze Blob Storage.

delimitedText

Ustaw wartość delimitedText, gdy obiekty blob są zwykłymi plikami CSV.

json

Ustaw wartość json, aby wyodrębnić zawartość ustrukturyzowaną z plików JSON.

jsonArray

Ustaw wartość jsonArray, aby wyodrębnić poszczególne elementy tablicy JSON jako osobne dokumenty.

jsonLines

Ustaw wartość jsonLines, aby wyodrębnić poszczególne jednostki JSON, oddzielone nowym wierszem, jako oddzielne dokumenty.

BlobIndexerPDFTextRotationAlgorithm

Określa algorytm wyodrębniania tekstu z plików PDF w usłudze Azure Blob Storage.

Wartość Opis
none

Wykorzystuje normalne wyodrębnianie tekstu. Jest to opcja domyślna.

detectAngles

Może zapewnić lepsze i bardziej czytelne wyodrębnianie tekstu z plików PDF, które mają obrócony tekst. Należy pamiętać, że użycie tego parametru może mieć niewielki wpływ na szybkość działania. Ten parametr ma zastosowanie tylko do plików PDF i tylko do plików PDF z osadzonym tekstem. Jeśli obrócony tekst znajduje się w obrazie osadzonym w pliku PDF, ten parametr nie ma zastosowania.

ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

Nazwa Typ Opis
info

object

Dodatkowe informacje.

type

string

Dodatkowy typ informacji.

ErrorDetail

Szczegóły błędu.

Nazwa Typ Opis
additionalInfo

ErrorAdditionalInfo[]

Dodatkowe informacje o błędzie.

code

string

Kod błędu.

details

ErrorDetail[]

Szczegóły błędu.

message

string

Komunikat o błędzie.

target

string

Element docelowy błędu.

ErrorResponse

Odpowiedź na błąd

Nazwa Typ Opis
error

ErrorDetail

Obiekt błędu.

FieldMapping

Definiuje mapowanie między polem w źródle danych a polem docelowym w indeksie.

Nazwa Typ Opis
mappingFunction

FieldMappingFunction

Funkcja, która ma być stosowana do każdej wartości pola źródłowego przed indeksowaniem.

sourceFieldName

string

Nazwa pola w źródle danych.

targetFieldName

string

Nazwa pola docelowego w indeksie. Domyślnie taka sama jak nazwa pola źródłowego.

FieldMappingFunction

Reprezentuje funkcję, która przekształca wartość ze źródła danych przed indeksowaniem.

Nazwa Typ Opis
name

string

Nazwa funkcji mapowania pól.

parameters

object

Słownik par nazwa/wartość parametru, które mają być przekazywane do funkcji. Każda wartość musi być typu pierwotnego.

IndexerExecutionEnvironment

Określa środowisko, w którym indeksator powinien być wykonywany.

Wartość Opis
standard

Wskazuje, że usługa wyszukiwania może określić, gdzie indeksator powinien zostać wykonany. Jest to środowisko domyślne, w którym nic nie jest określone i jest to wartość zalecana.

private

Wskazuje, że indeksator powinien działać w środowisku aprowizowanym specjalnie dla usługi wyszukiwania. Należy to określić jako środowisko wykonawcze tylko wtedy, gdy indeksator musi bezpiecznie uzyskiwać dostęp do zasobów za pośrednictwem udostępnionych zasobów łącza prywatnego.

IndexingParameters

Reprezentuje parametry wykonywania indeksatora.

Nazwa Typ Domyślna wartość Opis
batchSize

integer (int32)

Liczba elementów, które są odczytywane ze źródła danych i indeksowane jako pojedyncza partia w celu zwiększenia wydajności. Wartość domyślna zależy od typu źródła danych.

configuration

IndexingParametersConfiguration

Słownik właściwości konfiguracji specyficznych dla indeksatora. Każda nazwa jest nazwą określonej właściwości. Każda wartość musi być typu pierwotnego.

maxFailedItems

integer (int32)

0

Maksymalna liczba elementów, które mogą zakończyć się niepowodzeniem indeksowania w celu wykonania indeksatora, aby nadal być uznawana za powodzenie. -1 oznacza brak limitu. Wartość domyślna to 0.

maxFailedItemsPerBatch

integer (int32)

0

Maksymalna liczba elementów w jednej partii, które mogą zakończyć się niepowodzeniem indeksowania, aby partia nadal była uznawana za powodzenie. -1 oznacza brak limitu. Wartość domyślna to 0.

IndexingParametersConfiguration

Słownik właściwości konfiguracji specyficznych dla indeksatora. Każda nazwa jest nazwą określonej właściwości. Każda wartość musi być typu pierwotnego.

Nazwa Typ Domyślna wartość Opis
allowSkillsetToReadFileData

boolean

False

Jeśli true, utworzy ścieżkę //document//file_data która jest obiektem reprezentującym oryginalne dane pliku pobrane ze źródła danych obiektu blob. Dzięki temu można przekazać oryginalne dane pliku do niestandardowej umiejętności w celu przetwarzania w potoku wzbogacania lub do umiejętności wyodrębniania dokumentów.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Określa dane do wyodrębnienia z usługi Azure Blob Storage i informuje indeksator, które dane mają zostać wyodrębnione z zawartości obrazu, gdy wartość "imageAction" jest ustawiona na wartość inną niż "none". Dotyczy to osadzonej zawartości obrazu w .PDF lub innej aplikacji albo plików obrazów, takich jak .jpg i .pngw obiektach blob platformy Azure.

delimitedTextDelimiter

string

W przypadku obiektów blob CSV określa jednoznakowy ogranicznik końca wiersza dla plików CSV, w których każdy wiersz rozpoczyna nowy dokument (na przykład "|").

delimitedTextHeaders

string

W przypadku obiektów blob CSV określa rozdzielaną przecinkami listę nagłówków kolumn, przydatną do mapowania pól źródłowych na pola docelowe w indeksie.

documentRoot

string

W przypadku tablic JSON, biorąc pod uwagę dokument ze strukturą lub częściowo ustrukturyzowany, można określić ścieżkę do tablicy przy użyciu tej właściwości.

excludedFileNameExtensions

string

Rozdzielana przecinkami lista rozszerzeń nazw plików, które mają być ignorowane podczas przetwarzania z usługi Azure Blob Storage. Na przykład możesz wykluczyć ".png, .mp4", aby pominąć te pliki podczas indeksowania.

executionEnvironment

IndexerExecutionEnvironment

standard

Określa środowisko, w którym indeksator powinien być wykonywany.

failOnUnprocessableDocument

boolean

False

W przypadku obiektów blob platformy Azure ustaw wartość false, jeśli chcesz kontynuować indeksowanie, jeśli indeksowanie dokumentu zakończy się niepowodzeniem.

failOnUnsupportedContentType

boolean

False

W przypadku obiektów blob platformy Azure ustaw wartość false, jeśli chcesz kontynuować indeksowanie po napotkaniu nieobsługiwanego typu zawartości i nie znasz wszystkich typów zawartości (rozszerzeń plików) z wyprzedzeniem.

firstLineContainsHeaders

boolean

True

W przypadku obiektów blob CSV wskazuje, że pierwszy (niepusty) wiersz każdego obiektu blob zawiera nagłówki.

imageAction

BlobIndexerImageAction

none

Określa sposób przetwarzania osadzonych obrazów i plików obrazów w usłudze Azure Blob Storage. Ustawienie konfiguracji "imageAction" na dowolną wartość inną niż "none" wymaga, aby zestaw umiejętności był również dołączony do tego indeksatora.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

W przypadku obiektów blob platformy Azure ustaw tę właściwość na true, aby nadal indeksować metadane magazynu dla zawartości obiektu blob, która jest zbyt duża do przetworzenia. Oversized blobs są domyślnie traktowane jako błędy. Aby uzyskać informacje o ograniczeniach rozmiaru obiektu blob, zobacz https://learn.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

Rozdzielana przecinkami lista rozszerzeń nazw plików do wybrania podczas przetwarzania z usługi Azure Blob Storage. Na przykład możesz skupić się na indeksowaniu określonych plików aplikacji ".docx, .pptx, .msg", aby uwzględnić te typy plików.

parsingMode

BlobIndexerParsingMode

default

Reprezentuje tryb analizowania indeksowania ze źródła danych obiektów blob platformy Azure.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Określa algorytm wyodrębniania tekstu z plików PDF w usłudze Azure Blob Storage.

queryTimeout

string

00:05:00

Zwiększa limit czasu poza 5-minutowy domyślny dla źródeł danych usługi Azure SQL Database, określony w formacie "hh:mm:ss".

IndexingSchedule

Reprezentuje harmonogram wykonywania indeksatora.

Nazwa Typ Opis
interval

string (duration)

Interwał czasu między wykonaniami indeksatora.

startTime

string (date-time)

Czas, w którym indeksator powinien zacząć działać.

SearchIndexer

Reprezentuje indeksator.

Nazwa Typ Domyślna wartość Opis
@odata.etag

string

Element ETag indeksatora.

dataSourceName

string

Nazwa źródła danych, z którego ten indeksator odczytuje dane.

description

string

Opis indeksatora.

disabled

boolean

False

Wartość wskazująca, czy indeksator jest wyłączony. Wartość domyślna to „false”.

encryptionKey

SearchResourceEncryptionKey

Opis klucza szyfrowania utworzonego w usłudze Azure Key Vault. Ten klucz jest używany w celu zapewnienia dodatkowego poziomu szyfrowania magazynowanych dla definicji indeksatora (a także stanu wykonywania indeksatora), gdy chcesz mieć pełną pewność, że nikt, nawet firma Microsoft, nie może ich odszyfrować. Po zaszyfrowaniu definicji indeksatora zawsze pozostanie ona zaszyfrowana. Usługa wyszukiwania zignoruje próby ustawienia tej właściwości na wartość null. Możesz zmienić tę właściwość zgodnie z potrzebami, jeśli chcesz obrócić klucz szyfrowania; Definicja indeksatora (i stan wykonywania indeksatora) nie będzie miała wpływu. Szyfrowanie za pomocą kluczy zarządzanych przez klienta nie jest dostępne w przypadku bezpłatnych usług wyszukiwania i jest dostępne tylko w przypadku płatnych usług utworzonych 1 stycznia 2019 r. lub później.

fieldMappings

FieldMapping[]

Definiuje mapowania między polami w źródle danych i odpowiadającymi im polami docelowymi w indeksie.

name

string

Nazwa indeksatora.

outputFieldMappings

FieldMapping[]

Mapowania pól wyjściowych są stosowane po wzbogaceniu i bezpośrednio przed indeksowaniem.

parameters

IndexingParameters

Parametry wykonywania indeksatora.

schedule

IndexingSchedule

Harmonogram dla tego indeksatora.

skillsetName

string

Nazwa zestawu umiejętności wykonywanego za pomocą tego indeksatora.

targetIndexName

string

Nazwa indeksu, do którego ten indeksator zapisuje dane.

SearchResourceEncryptionKey

Klucz szyfrowania zarządzany przez klienta w usłudze Azure Key Vault. Klucze, które tworzysz i którymi zarządzasz, mogą służyć do szyfrowania lub odszyfrowywania danych magazynowanych, takich jak indeksy i mapy synonimów.

Nazwa Typ Opis
accessCredentials

AzureActiveDirectoryApplicationCredentials

Opcjonalne poświadczenia usługi Azure Active Directory używane do uzyskiwania dostępu do usługi Azure Key Vault. Nie jest to wymagane, jeśli zamiast tego używasz tożsamości zarządzanej.

keyVaultKeyName

string

Nazwa klucza usługi Azure Key Vault, który ma być używany do szyfrowania danych magazynowanych.

keyVaultKeyVersion

string

Wersja klucza usługi Azure Key Vault, która ma być używana do szyfrowania danych magazynowanych.

keyVaultUri

string

Identyfikator URI usługi Azure Key Vault, nazywany również nazwą DNS, który zawiera klucz, który ma być używany do szyfrowania danych magazynowanych. Przykładowym identyfikatorem URI może być https://my-keyvault-name.vault.azure.net.