Indexers - Create Or Update

Tworzy nowy indeksator lub aktualizuje indeksator, jeśli już istnieje.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
endpoint
path True

string

Adres URL punktu końcowego usługi wyszukiwania.

indexerName
path True

string

Nazwa indeksatora do utworzenia lub zaktualizowania.

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 za pomocą żądania ułatwiającego debugowanie.

If-Match

string

Definiuje warunek If-Match. Operacja zostanie wykonana tylko wtedy, gdy element ETag na serwerze jest zgodny z tą wartością.

If-None-Match

string

Definiuje warunek If-None-Match. Operacja zostanie wykonana tylko wtedy, gdy element ETag na serwerze nie jest zgodny z tą wartością.

Prefer True

string

W przypadku żądań HTTP PUT usługa zwraca utworzony/zaktualizowany zasób w przypadku powodzenia.

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 służy do 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 będzie ona zawsze szyfrowana. Usługa wyszukiwania zignoruje próby ustawienia tej właściwości na wartość null. Tę właściwość można zmienić zgodnie z potrzebami, jeśli chcesz obrócić klucz szyfrowania; Nie będzie to miało wpływu na definicję indeksatora (i stan wykonywania indeksatora). Szyfrowanie przy użyciu kluczy zarządzanych przez klienta nie jest dostępne dla bezpłatnych usług wyszukiwania i jest dostępne tylko dla płatnych usług utworzonych w dniu 1 stycznia 2019 r. lub po tym, jak 1 stycznia 2019 r.

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
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

SearchError

Odpowiedź na błąd.

Przykłady

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

Definicje

Nazwa Opis
AzureActiveDirectoryApplicationCredentials

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

BlobIndexerDataToExtract

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

BlobIndexerImageAction

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

BlobIndexerParsingMode

Reprezentuje tryb analizowania na potrzeby 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.

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.

SearchError

Opisuje warunek błędu dla interfejsu API.

SearchIndexer

Reprezentuje indeksator.

SearchResourceEncryptionKey

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

AzureActiveDirectoryApplicationCredentials

Poświadczenia zarejestrowanej aplikacji utworzonej dla usługi wyszukiwania używane 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óra ma być używana podczas szyfrowania danych magazynowanych. Identyfikator aplikacji nie powinien być mylony z identyfikatorem obiektu dla aplikacji usługi AAD.

applicationSecret

string

Klucz uwierzytelniania określonej aplikacji usługi AAD.

BlobIndexerDataToExtract

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

Nazwa Typ Opis
allMetadata

string

Wyodrębnia metadane dostarczane przez podsystem magazynu obiektów blob platformy Azure i metadane specyficzne dla typu zawartości (na przykład metadane unikatowe dla tylko .png plików są indeksowane).

contentAndMetadata

string

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

storageMetadata

string

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

BlobIndexerImageAction

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

Nazwa Typ Opis
generateNormalizedImagePerPage

string

Wyodrębnia tekst z obrazów (na przykład wyraz "STOP" z znaku zatrzymania ruchu) i osadza go w polu zawartości, ale traktuje pliki PDF inaczej w tym, że każda strona będzie 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".

generateNormalizedImages

string

Wyodrębnia tekst z obrazów (na przykład wyraz "STOP" z znaku zatrzymania ruchu) i osadza go w polu zawartości. Ta akcja wymaga ustawienia "dataToExtract" na wartość "contentAndMetadata". Znormalizowany obraz odnosi się do dodatkowego przetwarzania, co powoduje jednolite dane wyjściowe obrazu, rozmiar i rotację w celu promowania spójnego renderowania podczas dołączania obrazów do wyników wyszukiwania wizualnego. Te informacje są generowane dla każdego obrazu podczas korzystania z tej opcji.

none

string

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

BlobIndexerParsingMode

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

Nazwa Typ Opis
default

string

Ustaw wartość domyślną dla normalnego przetwarzania plików.

delimitedText

string

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

json

string

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

jsonArray

string

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

jsonLines

string

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

text

string

Ustaw wartość na tekst, aby zwiększyć wydajność indeksowania plików w postaci zwykłego tekstu w magazynie obiektów blob.

BlobIndexerPDFTextRotationAlgorithm

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

Nazwa Typ Opis
detectAngles

string

Może generować lepsze i bardziej czytelne wyodrębnianie tekstu z plików PDF, które obracały tekst w nich. Należy pamiętać, że w przypadku użycia tego parametru może wystąpić niewielki wpływ na szybkość wydajności. Ten parametr dotyczy tylko plików PDF i tylko plików PDF z osadzonym tekstem. Jeśli obrócony tekst pojawi się w osadzonym obrazie w formacie PDF, ten parametr nie ma zastosowania.

none

string

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

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 jest 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 do przekazania do funkcji. Każda wartość musi być typu pierwotnego.

IndexerExecutionEnvironment

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

Nazwa Typ Opis
private

string

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

standard

string

Wskazuje, że usługa wyszukiwania może określić miejsce wykonywania indeksatora. Jest to środowisko domyślne, gdy nic nie jest określone i jest zalecaną wartością.

IndexingParameters

Reprezentuje parametry wykonywania indeksatora.

Nazwa Typ Wartość domyślna Opis
batchSize

integer

Liczba elementów odczytywanych ze źródła danych i indeksowanych 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

0

Maksymalna liczba elementów, które mogą zakończyć się niepowodzeniem indeksowania dla wykonywania indeksatora, które nadal będą uznawane za pomyślne. -1 oznacza brak limitu. Wartość domyślna to 0.

maxFailedItemsPerBatch

integer

0

Maksymalna liczba elementów w pojedynczej partii, które mogą zakończyć się niepowodzeniem indeksowania partii, aby nadal można je było uznać za pomyślne. -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 Wartość domyślna Opis
allowSkillsetToReadFileData

boolean

False

Jeśli wartość true, spowoduje utworzenie ścieżki //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 plików do niestandardowej umiejętności przetwarzania w potoku wzbogacania lub umiejętności wyodrębniania dokumentów.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

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

delimitedTextDelimiter

string

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

delimitedTextHeaders

string

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

documentRoot

string

W przypadku tablic JSON, na podstawie dokumentu strukturalnego lub częściowo ustrukturyzowanego, 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 do ignorowania podczas przetwarzania z usługi Azure Blob Storage. Można na przykład wykluczyć opcję ".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 w przypadku napotkania nieobsługiwanego typu zawartości i nie znasz z wyprzedzeniem wszystkich typów zawartości (rozszerzeń plików).

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 obrazów osadzonych i plików obrazów w usłudze Azure Blob Storage. Ustawienie konfiguracji "imageAction" na dowolną wartość inną niż "none" wymaga dołączenia zestawu umiejętności do tego indeksatora.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

W przypadku obiektów blob platformy Azure ustaw tę właściwość na wartość 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 limitach dotyczących rozmiaru obiektu blob, zobacz https://docs.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. Można na przykład 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 na potrzeby 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 domyślną 5-minutową wartością dla źródeł danych bazy danych Azure SQL określonym w formacie "hh:mm:ss".

IndexingSchedule

Reprezentuje harmonogram wykonywania indeksatora.

Nazwa Typ Opis
interval

string

Interwał czasu między wykonaniami indeksatora.

startTime

string

Czas uruchomienia indeksatora.

SearchError

Opisuje warunek błędu dla interfejsu API.

Nazwa Typ Opis
code

string

Jeden z zdefiniowanych przez serwer zestaw kodów błędów.

details

SearchError[]

Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu.

message

string

Czytelna dla człowieka reprezentacja błędu.

SearchIndexer

Reprezentuje indeksator.

Nazwa Typ Wartość domyślna 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 tworzonego w usłudze Azure Key Vault. Ten klucz służy do zapewnienia dodatkowego poziomu szyfrowania danych 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 będzie ona zawsze szyfrowana. Usługa wyszukiwania zignoruje próby ustawienia tej właściwości na wartość null. Tę właściwość można zmienić w razie potrzeby, jeśli chcesz obrócić klucz szyfrowania; Nie będzie to miało wpływu na definicję indeksatora (i stan wykonywania indeksatora). Szyfrowanie za pomocą kluczy zarządzanych przez klienta nie jest dostępne dla bezpłatnych usług wyszukiwania i jest dostępne tylko dla 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 tworzone i zarządzane mogą służyć do szyfrowania lub odszyfrowywania danych magazynowanych w usłudze wyszukiwania, 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 wymagane, jeśli zamiast tego używasz tożsamości zarządzanej.

keyVaultKeyName

string

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

keyVaultKeyVersion

string

Wersja klucza Key Vault platformy Azure, 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 używany do szyfrowania danych magazynowanych. Przykładowy identyfikator URI może mieć wartość https://my-keyvault-name.vault.azure.net.