Udostępnij za pośrednictwem


Indexers - Create Or Update

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

PUT {endpoint}/indexers('{indexerName}')?api-version=2024-07-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 z żądaniem, aby ułatwić 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 nakazuje usłudze zwrócenie utworzonego/zaktualizowanego zasobu 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 w spoczynku dla definicji indeksatora (a także stanu wykonywania indeksatora), gdy chcesz mieć pełną pewność, że nikt, nawet firma Microsoft, nie może je 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 w dniu 1 stycznia 2019 r. lub po 1 stycznia 2019 r.

fieldMappings

FieldMapping[]

Definiuje mapowania między polami w źródle danych i odpowiednimi 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

ErrorResponse

Odpowiedź na błąd.

Przykłady

SearchServiceCreateOrUpdateIndexer

Przykładowe żądanie

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2024-07-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
  }
}

Przykładowa odpowiedź

{
  "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 do wyodrębnienia z usługi Azure Blob Storage i informuje indeksator, które dane mają być wyodrębnione z zawartości obrazu, gdy wartość "imageAction" jest ustawiona na wartość inną niż "none". Dotyczy to zawartości obrazu osadzonego w .PDF lub innych aplikacjach albo plikach obrazów, takich jak .jpg i .png, w 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 również dołączenia zestawu umiejętności do tego indeksatora.

BlobIndexerParsingMode

Reprezentuje tryb analizowania indeksowania ze źródła danych obiektu 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 to nazwa 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 tworzone i zarządzane 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ż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 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ą być wyodrębnione z zawartości obrazu, gdy wartość "imageAction" jest ustawiona na wartość inną niż "none". Dotyczy to zawartości obrazu osadzonego w .PDF lub innych aplikacjach albo plikach 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 osadzonych obrazów i plików obrazów w usłudze Azure Blob Storage. Ustawienie konfiguracji "imageAction" na dowolną wartość inną niż "none" wymaga również dołączenia zestawu umiejętności do tego indeksatora.

Nazwa Typ Opis
generateNormalizedImagePerPage

string

Wyodrębnia tekst z obrazów (na przykład słowo "STOP" z znaku zatrzymania ruchu) i osadza go w polu zawartości, ale traktuje pliki PDF inaczej, ponieważ 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 słowo "STOP" z znaku zatrzymania ruchu) i osadza go w polu zawartości. Ta akcja wymaga ustawienia parametru "dataToExtract" na wartość "contentAndMetadata". Znormalizowany obraz odnosi się do dodatkowego przetwarzania, co powoduje jednolite dane wyjściowe obrazu, rozmiar i obrócony 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 wartość domyślna.

BlobIndexerParsingMode

Reprezentuje tryb analizowania indeksowania ze źródła danych obiektu 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 na wyodrębnianie zawartości ustrukturyzowanej 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 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 tworzyć 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 pliku PDF, ten parametr nie ma zastosowania.

none

string

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

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 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 zostanie określone i jest zalecaną wartością.

IndexingParameters

Reprezentuje parametry wykonywania indeksatora.

Nazwa Typ Domyślna wartość 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 to nazwa 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 dla partii, aby nadal można je było traktować jako 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 to nazwa określonej właściwości. Każda wartość musi być typu pierwotnego.

Nazwa Typ Domyślna wartość 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 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ą być wyodrębnione z zawartości obrazu, gdy wartość "imageAction" jest ustawiona na wartość inną niż "none". Dotyczy to zawartości obrazu osadzonego w .PDF lub innych aplikacjach albo plikach obrazów, takich jak .jpg i .png, w obiektach blob platformy Azure.

delimitedTextDelimiter

string

W przypadku obiektów blob CSV określa ogranicznik jednoznaczny 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, co jest przydatne w przypadku mapowania pól źródłowych na pola docelowe w indeksie.

documentRoot

string

W przypadku tablic JSON, biorąc pod uwagę ustrukturyzowany lub częściowo ustrukturyzowany dokument, 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ć element ".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 osadzonych obrazów i plików obrazów w usłudze Azure Blob Storage. Ustawienie konfiguracji "imageAction" na dowolną wartość inną niż "none" wymaga również 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 obiektów 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://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. Można na przykład skoncentrować 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 obiektu 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-minutową wartością domyślną dla źródeł danych usługi Azure SQL Database 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.

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 służy do zapewnienia dodatkowego poziomu szyfrowania w spoczynku dla definicji indeksatora (a także stanu wykonywania indeksatora), gdy chcesz mieć pełną pewność, że nikt, nawet firma Microsoft, nie może je 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 w dniu 1 stycznia 2019 r. lub po 1 stycznia 2019 r.

fieldMappings

FieldMapping[]

Definiuje mapowania między polami w źródle danych i odpowiednimi 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, 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 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 używany do szyfrowania danych magazynowanych. Przykładowy identyfikator URI może być https://my-keyvault-name.vault.azure.net.