Tworzenie lub aktualizowanie indeksatora (interfejs API REST w wersji zapoznawczej)

Dotyczy: 2023-07-01-Preview, 2021-04-30-Preview, 2020-06-30-Preview

Ważne

2023-07-01-Preview (brak zmian).

2021-04-30-Preview dodaje obsługę tożsamości zarządzanej na potrzeby wzbogacania pamięci podręcznej i kluczy szyfrowania:

  • Wyrażenie "storageConnectionString" akceptuje identyfikator zasobu dla połączenia tożsamości zarządzanej przypisanej przez system z usługą Azure Storage. Ta właściwość znajduje się w obszarze "cache". Tożsamość zarządzana przypisana przez użytkownika nie jest obsługiwana.
  • "tożsamość" akceptuje tożsamość zarządzaną przypisaną przez użytkownika.

2020-06-30-Preview dodaje:

Indeksator automatyzuje indeksowanie z obsługiwanych źródeł danych przez połączenie ze wstępnie zdefiniowanym źródłem danych, pobieranie i serializowanie danych oraz przekazywanie ich do usługi wyszukiwania na potrzeby pozyskiwania danych. W przypadku wzbogacania sztucznej inteligencji obrazu i tekstu bez struktury indeksatory mogą również akceptować zestaw umiejętności , który dodaje obraz i przetwarzanie języka naturalnego.

Możesz użyć metody POST lub PUT w żądaniu tworzenia. W przypadku jednej z nich treść żądania zawiera definicję obiektu.

POST https://[service name].search.windows.net/indexers?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]  

W przypadku żądań aktualizacji użyj polecenia PUT i określ nazwę indeksatora w identyfikatorze URI.

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]    

Protokół HTTPS jest wymagany dla wszystkich żądań obsługi. Jeśli indeksator nie istnieje, zostanie utworzony. Jeśli już istnieje, jest ona aktualizowana do nowej definicji, ale jeśli chcesz wykonać indeksator, musisz wysłać żądanie uruchom indeksatora .

Utworzenie indeksatora powoduje dodanie go do usługi wyszukiwania i uruchomienie go. Jeśli żądanie zakończy się pomyślnie, indeks zostanie wypełniony zawartością z możliwością wyszukiwania ze źródła danych.

Aktualizowanie indeksatora nie uruchamia go automatycznie, ale w zależności od modyfikacji i skojarzonego źródła danych może być wymagane zresetowanie i ponowne uruchomienie. Podczas aktualizowania istniejącego indeksatora cała definicja jest zastępowana zawartością treści żądania. Ogólnie rzecz biorąc, najlepszym wzorcem do użycia w przypadku aktualizacji jest pobranie definicji indeksatora za pomocą polecenia GET, zmodyfikowanie go, a następnie zaktualizowanie go za pomocą funkcji PUT.

Konfiguracja indeksatora różni się w zależności od typu źródła danych. Aby uzyskać wskazówki dotyczące tworzenia indeksatorów specyficzne dla platformy danych, zacznij od omówienia indeksatorów, który zawiera pełną listę powiązanych artykułów.

Uwaga

Maksymalna liczba indeksatorów, które można utworzyć, różni się w zależności od warstwy cenowej. Aby uzyskać więcej informacji, zobacz Service limits for Azure AI Search (Limity usług dla usługi Azure AI Search).

Parametry identyfikatora URI

Parametr Opis
nazwa usługi Wymagane. Ustaw tę wartość na unikatową, zdefiniowaną przez użytkownika nazwę usługi wyszukiwania.
nazwa indeksatora Wymagane dla identyfikatora URI w przypadku używania funkcji PUT. Nazwa musi mieć małe litery, zaczynać się literą lub cyfrą, nie ma ukośników ani kropek i ma mniej 128 znaków. Po rozpoczęciu nazwy literą lub cyfrą reszta nazwy może zawierać dowolną literę, cyfrę i kreski, o ile kreski nie są kolejne.
api-version Wymagane. Bieżąca wersja zapoznawcza to 2023-07-01-Preview. Zobacz Wersje interfejsu API , aby uzyskać więcej wersji.

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.

Pola Opis
Content-Type Wymagane. Ustaw tę wartość na application/json
api-key Opcjonalnie, jeśli używasz ról platformy Azure , a token elementu nośnego jest dostarczany w żądaniu, w przeciwnym razie wymagany jest klucz. Api-key to unikatowy ciąg generowany przez system, który uwierzytelnia żądanie w usłudze wyszukiwania. Tworzenie żądań musi zawierać api-key nagłówek ustawiony na klucz administratora (w przeciwieństwie do klucza zapytania). Aby uzyskać szczegółowe informacje, zobacz Nawiązywanie połączenia z usługą Azure AI Search przy użyciu uwierzytelniania klucza .

Treść żądania

Źródło danych, indeks i zestaw umiejętności są częścią definicji indeksatora, ale każdy z nich jest niezależnym składnikiem, który może być używany w różnych kombinacjach. Na przykład można użyć tego samego źródła danych z wieloma indeksatorami lub tego samego indeksu z wieloma indeksatorami lub wielu indeksatorów zapisujących w jednym indeksie.

Poniższy kod JSON jest ogólną reprezentacją głównych części definicji.

{   
    "name" : (optional on PUT; required on POST) "Name of the indexer",  
    "description" : (optional) "Anything you want, or nothing at all", 
    "dataSourceName" : (required) "Name of an existing data source",  
    "targetIndexName" : (required) "Name of an existing index",  
    "skillsetName" : (required for AI enrichment) "Name of an existing skillset",
    "cache":  { ... },
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters" : (optional) {
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration": { }
    },
    "fieldMappings" : (optional) { ... },
    "outputFieldMappings" : (required for AI enrichment) { ... },
    "encryptionKey":(optional) { },
    "disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}  

Żądanie zawiera następujące właściwości:

Właściwość Opis
name Wymagane. Nazwa musi mieć małe litery, zaczynać się literą lub cyfrą, nie ma ukośników ani kropek i ma mniej 128 znaków. Po rozpoczęciu nazwy literą lub cyfrą reszta nazwy może zawierać dowolną literę, cyfrę i kreski, o ile kreski nie są kolejne.
description (opis) Opcjonalny. Opis indeksatora.
dataSourceName Wymagane. Nazwa istniejącego źródła danych, które udostępnia informacje o połączeniu i inne właściwości.
targetIndexName Wymagane. Nazwa istniejącego indeksu.
skillsetName Wymagane do wzbogacania sztucznej inteligencji. Nazwa istniejącego zestawu umiejętności.
Pamięci podręcznej Opcjonalnie w przypadku wzbogacania sztucznej inteligencji umożliwia ponowne używanie niezmienionych dokumentów.
Harmonogram Opcjonalne, ale jest uruchamiane raz natychmiast, jeśli nie określono.
parameters Opcjonalny. Właściwości modyfikowania zachowania środowiska uruchomieniowego.
fieldMappings Opcjonalny. Używane, gdy pola źródłowe i docelowe mają różne nazwy.
outputFieldMappings Wymagane do wzbogacania sztucznej inteligencji. Mapuje dane wyjściowe z zestawu umiejętności na indeks lub projekcję.
encryptionKey Opcjonalny. Służy do szyfrowania danych indeksatora magazynowanych przy użyciu własnych kluczy zarządzanych w usłudze Azure Key Vault. Aby dowiedzieć się więcej, zobacz Szyfrowanie usługi Azure AI Search przy użyciu kluczy zarządzanych przez klienta w usłudze Azure Key Vault.
wyłączone Opcjonalny. Wartość logiczna wskazująca, czy indeksator jest wyłączony. Domyślnie fałsz.

Reakcja

201 Utworzono dla pomyślnego żądania.

Przykłady

Przykład: indeksator oparty na tekście z harmonogramem i parametrem

W tym przykładzie tworzony jest indeksator, który kopiuje dane z tabeli, order-sds do której odwołuje się źródło danych, do indeksu orders-idx zgodnie z harmonogramem rozpoczynającym się 1 stycznia 2022 r. czasu UTC i jest uruchamiany co godzinę. Każde wywołanie indeksatora zakończy się pomyślnie, jeśli nie można indeksować więcej niż 5 elementów w każdej partii, a nie więcej niż 10 elementów nie będzie indeksowanych w sumie. Mapowania pól zapewniają ścieżkę danych, gdy nazwy pól i typy nie są zgodne.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "orders-ds",  
    "targetIndexName" : "orders-idx", 
    "fieldMappings" : [
      {
          "sourceFieldName" : "content",
          "targetFieldName" : "sourceContent"
      }
    ], 
    "schedule" : { "interval" : "PT1H", "startTime" : "2022-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

Przykład: indeksator zestawu umiejętności

W tym przykładzie pokazano wzbogacanie sztucznej inteligencji wskazane przez odwołanie do zestawu umiejętności i elementu outputFieldMappings mapowania danych wyjściowych umiejętności na pola w indeksie wyszukiwania. Zestawy umiejętności to zasoby wysokiego poziomu, zdefiniowane oddzielnie.

Nowość w tej wersji zapoznawczej i dotyczy tylko zestawów umiejętności, można określić właściwość pamięci podręcznej , aby ponownie używać dokumentów, które nie mają wpływu na zmiany w definicji zestawu umiejętności.

{
  "name":"demo-indexer",	
  "dataSourceName" : "demo-data",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "DefaultEndpointsProtocol=https;AccountName=<storage-account-name>;AccountKey=<storage-account-key>;EndpointSuffix=core.windows.net",
      "enableReprocessing": true
    },
  "fieldMappings" : [ ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
  	"maxFailedItems":-1,
  	"configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

Przykład: wzbogacanie pamięci podręcznej za pomocą połączenia tożsamości zarządzanej

W tym przykładzie przedstawiono format parametry połączenia podczas używania usługi Azure Active Directory do uwierzytelniania. Aby używać tożsamości zarządzanej, należy skonfigurować usługę wyszukiwania. Tożsamość musi mieć uprawnienia "Współautor danych obiektu blob usługi Storage", aby można było zapisywać je w pamięci podręcznej. Parametry połączenia jest unikatowym identyfikatorem zasobu konta magazynu i musi zawierać kontener używany do przechowywania buforowanego wzbogacania.

{
  "name":"demo-indexer",
  "dataSourceName" : "demodata-ds",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "ResourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/<container-name>;",
      "enableReprocessing": true
    },
  "fieldMappings" : [  ],
  "outputFieldMappings" :  [  ],
  "parameters": {  }
}

Definicje

Link Opis
Pamięci podręcznej Konfiguruje buforowanie na potrzeby wzbogacania sztucznej inteligencji i wykonywania zestawu umiejętności.
encryptionKey Konfiguruje połączenie z usługą Azure Key Vault na potrzeby szyfrowania zarządzanego przez klienta.
fieldMappings Mapowania pól źródłowych do miejsca docelowego dla pól, które nie są zgodne z nazwą i typem.
outputFieldMappings Mapuje węzły w wzbogaconym dokumencie na pola w indeksie. Wymagane, jeśli używasz zestawów umiejętności.
parameters Konfiguruje indeksator. Parametry obejmują parametry ogólne i parametry specyficzne dla źródła.
Harmonogram Określa interwał i częstotliwość zaplanowanego wykonywania indeksatora.

pamięć podręczna (wersja zapoznawcza)

Indeksowanie przyrostowe to możliwość ponownego użycia wzbogaconych dokumentów w pamięci podręcznej podczas przetwarzania zestawu umiejętności. Najbardziej typowym scenariuszem jest ponowne użycie funkcji OCR lub analizy obrazów plików obrazów, które mogą być kosztowne i czasochłonne do przetworzenia.

"cache" : 
  {
    "storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
    "enableReprocessing": true
  }

Obiekt pamięci podręcznej ma wymagane i opcjonalne właściwości.

Właściwość Opis
storageConnectionString Wymagane. Określa konto magazynu używane do buforowania wyników pośrednich. Przy użyciu podanego konta usługa wyszukiwania utworzy kontener obiektów blob poprzedzony prefiksem ms-az-search-indexercache i zostanie ukończony za pomocą identyfikatora GUID unikatowego dla indeksatora. Musi być ustawiona na pełny dostęp parametry połączenia, który zawiera klucz, lub unikatowy identyfikator zasobu konta magazynu dla żądań uwierzytelnionych przy użyciu Azure AD.

Aby uwierzytelnić się za pomocą Azure AD, usługa wyszukiwania musi być skonfigurowana do używania tożsamości zarządzanej, a tożsamość musi mieć uprawnienie "Współautor danych obiektu blob magazynu".
enableReprocessing Opcjonalny. Właściwość logiczna (true domyślnie) do kontrolowania przetwarzania przychodzących dokumentów już reprezentowanych w pamięci podręcznej. Gdy true (ustawienie domyślne), dokumenty już w pamięci podręcznej są ponownie przetwarzane podczas ponownego uruchamiania indeksatora, przy założeniu, że aktualizacja umiejętności wpływa na ten dokument. Gdy falseistniejące dokumenty nie są ponownie przetwarzane, skutecznie ustalają priorytety nowych, przychodzących zawartości w istniejącej zawartości. Należy ustawić false tylko wartość enableReprocessing na tymczasową. Aby zapewnić spójność w całym korpusie, powinno być true w większości przypadków, enableReprocessing upewniając się, że wszystkie dokumenty, zarówno nowe, jak i istniejące, są prawidłowe zgodnie z bieżącą definicją zestawu umiejętności.
ID (Identyfikator) Tylko do odczytu. Generowane po utworzeniu pamięci podręcznej. Jest ID to identyfikator kontenera na koncie magazynu, który będzie używany jako pamięć podręczna dla tego indeksatora. Ta pamięć podręczna będzie unikatowa dla tego indeksatora, a jeśli indeksator zostanie usunięty i utworzony ponownie o tej samej nazwie, ID zostanie ponownie wygenerowany. ID Nie można ustawić elementu , jest on zawsze generowany przez usługę.

schedule

Indeksator może opcjonalnie określić harmonogram. Bez harmonogramu indeksator jest uruchamiany natychmiast po wysłaniu żądania: nawiązywanie połączenia, przeszukiwanie i indeksowanie źródła danych. W przypadku niektórych scenariuszy, w tym długotrwałych zadań indeksowania, harmonogramy są używane do rozszerzania okna przetwarzania poza maksymalną 24-godzinną. Jeśli harmonogram jest obecny, indeksator jest uruchamiany okresowo zgodnie z harmonogramem. Harmonogram jest wbudowany; nie można użyć zewnętrznego harmonogramu. Harmonogram ma następujące atrybuty:

  • interwał: wymagane. Wartość czasu trwania określająca interwał lub okres dla przebiegów indeksatora. Najmniejszy dozwolony interwał wynosi pięć minut; najdłuższy jest jeden dzień. Musi być sformatowana jako wartość XSD "dayTimeDuration" (ograniczony podzbiór wartości czasu trwania ISO 8601 ). Wzorzec dla tego jest następujący: Przykłady: "P[nD][T[nH][nM]]".PT15M przez co 15 minut, PT2H przez co 2 godziny.

  • startTime: opcjonalnie. Data/godzina UTC rozpoczęcia działania indeksatora.

Uwaga

Jeśli indeksator jest ustawiony na określony harmonogram, ale wielokrotnie kończy się niepowodzeniem w tym samym dokumencie za każdym razem, gdy jest uruchamiany, indeksator rozpocznie działanie w mniej częstym interwale (maksymalnie co 24 godziny), dopóki nie zostanie pomyślnie wykonane postęp ponownie. Jeśli uważasz, że rozwiązano problem powodujący zablokowanie indeksatora w pewnym momencie, możesz wykonać uruchomienie indeksatora na żądanie, a jeśli ten błąd zakończy się pomyślnie, indeksator powróci do ustawionego interwału harmonogramu ponownie.

parameters

Indeksator może opcjonalnie przyjmować parametry konfiguracji modyfikujące zachowania środowiska uruchomieniowego. Parametry konfiguracji są rozdzielane przecinkami w żądaniu indeksatora.

{
  "name" : "my-blob-indexer-for-cognitive-search",
  ... other indexer properties
  "parameters" : { 
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration" : { 
            "parsingMode" : "json", 
            "indexedFileNameExtensions" : ".json, .jpg, .png", 
            "imageAction" : "generateNormalizedImages", 
            "dataToExtract" : "contentAndMetadata" } }
}

Ogólne parametry dla wszystkich indeksatorów

Parametr Wpisz i dozwolone wartości Użycie
"batchSize" Liczba całkowita
Wartość domyślna jest specyficzna dla źródła (1000 dla Azure SQL Database i Azure Cosmos DB, 10 dla Azure Blob Storage)
Określa liczbę elementów odczytywanych ze źródła danych i indeksowanych jako pojedyncza partia w celu zwiększenia wydajności.
"maxFailedItems" Liczba całkowita
Wartość domyślna to 0
Liczba błędów tolerowanych przed uruchomieniem indeksatora jest uznawana za awarię. Ustaw wartość -1, jeśli nie chcesz, aby jakiekolwiek błędy zatrzymały proces indeksowania. Informacje o nieudanych elementach można pobrać przy użyciu polecenia Pobierz stan indeksatora.
"maxFailedItemsPerBatch" Liczba całkowita
Wartość domyślna to 0
Liczba błędów tolerowanych w każdej partii przed uruchomieniem indeksatora jest uznawana za awarię. Ustaw wartość -1, jeśli nie chcesz, aby jakiekolwiek błędy zatrzymały proces indeksowania.
"base64EncodeKeys" Wartość logiczna
Wartość domyślna to true
Prawidłowe wartości to null, true lub false. Po ustawieniu wartości false indeksator nie będzie automatycznie kodować wartości pola wyznaczonego jako klucz dokumentu. Ustawienie tej właściwości eliminuje konieczność określenia funkcji mapowania, która base64 koduje wartości klucza (takie jak kreski), które nie są prawidłowe w kluczu dokumentu.

Parametry konfiguracji obiektu blob

Kilka parametrów jest wyłącznych dla określonego indeksatora, takiego jak indeksowanie obiektów blob platformy Azure.

Parametr Wpisz i dozwolone wartości Użycie
"parsingMode" Ciąg
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
W przypadku obiektów blob platformy Azure ustaw wartość na , aby text zwiększyć wydajność indeksowania plików zwykłych tekstu w magazynie obiektów blob.
W przypadku obiektów blob CSV ustaw wartość delimitedText , gdy obiekty blob są zwykłymi plikami CSV.
W przypadku obiektów blob JSON ustaw wartość na w celu json wyodrębnienia zawartości ustrukturyzowanej lub jsonArray wyodrębnienia poszczególnych elementów tablicy jako oddzielnych dokumentów w usłudze Azure AI Search. Służy jsonLines do wyodrębniania pojedynczych jednostek JSON oddzielonych nowym wierszem jako oddzielnych dokumentów w usłudze Azure AI Search.
"excludedFileNameExtensions" Ciąg
lista rozdzielana przecinkami
zdefiniowane przez użytkownika
W przypadku obiektów blob platformy Azure zignoruj wszystkie typy plików na liście. Można na przykład wykluczyć opcję ".png, .png, .mp4", aby pominąć te pliki podczas indeksowania.
"indexedFileNameExtensions" Ciąg
lista rozdzielana przecinkami
zdefiniowane przez użytkownika
W przypadku obiektów blob platformy Azure wybiera obiekty blob, jeśli rozszerzenie pliku znajduje się na liście. Można na przykład skupić się na indeksowaniu określonych plików aplikacji ".docx, .pptx, msg", aby uwzględnić te typy plików.
"failOnUnsupportedContentType" Wartość logiczna
true
false (wartość domyślna)
W przypadku obiektów blob platformy Azure ustaw wartość na false , jeśli chcesz kontynuować indeksowanie po napotkaniu nieobsługiwanego typu zawartości i nie znasz z wyprzedzeniem wszystkich typów zawartości (rozszerzeń plików).
"failOnUnprocessableDocument" Wartość logiczna
true
false (wartość domyślna)
W przypadku obiektów blob platformy Azure ustaw wartość na false , jeśli chcesz kontynuować indeksowanie, jeśli indeksowanie dokumentu zakończy się niepowodzeniem.
"indexStorageMetadataOnly
ForOversizedDocuments"
Wartość logiczna true
false (wartość domyślna)
W przypadku obiektów blob platformy Azure ustaw tę właściwość na wartość , aby true 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 Limity usługi.
"delimitedTextHeaders" Ciąg
lista rozdzielana przecinkami
zdefiniowane przez użytkownika
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.
"delimitedTextDelimiter" Ciąg
pojedynczy znak
zdefiniowane przez użytkownika
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 "|").
"firstLineContainsHeaders" Wartość logiczna
true (wartość domyślna)
fałsz
W przypadku obiektów blob CSV wskazuje, że pierwszy (niepusty) wiersz każdego obiektu blob zawiera nagłówki.
"documentRoot" Ciąg
ścieżka zdefiniowana przez użytkownika
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.
"dataToExtract" Ciąg
"storageMetadata"
"allMetadata"
"contentAndMetadata" (domyślne)
W przypadku obiektów blob platformy Azure:
Ustaw wartość na wartość , aby "storageMetadata" indeksować tylko standardowe właściwości obiektu blob i metadane określone przez użytkownika.
Ustaw wartość na wartość , aby "allMetadata" wyodrębnić metadane udostępniane przez podsystem magazynu obiektów blob platformy Azure i metadane specyficzne dla typu zawartości (na przykład metadane unikatowe tylko dla plików .png) są indeksowane.
Ustaw wartość na , aby "contentAndMetadata" wyodrębnić wszystkie metadane i zawartość tekstową z każdego obiektu blob.

W przypadku analizy obrazów w wzbogacaniu sztucznej inteligencji, gdy "imageAction" jest ustawiona na wartość inną niż "none", "dataToExtract" ustawienie informuje indeksatora, które dane mają być wyodrębnione z zawartości obrazu. Dotyczy zawartości obrazu osadzonego w .PDF lub innej aplikacji albo plików obrazów, takich jak .jpg i .png, w obiektach blob platformy Azure.
"imageAction" Ciąg
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
W przypadku obiektów blob platformy Azure ustaw wartość na wartość , aby"none" ignorować osadzone obrazy lub pliki obrazów w zestawie danych. Jest to opcja domyślna.

W przypadku analizy obrazów w wzbogacaniu sztucznej inteligencji ustaw wartość na wyodrębnianie"generateNormalizedImages" tekstu z obrazów (na przykład wyraz "stop" z znaku zatrzymania ruchu) i osadź go w ramach pola zawartości. Podczas analizy obrazów indeksator tworzy tablicę znormalizowanych obrazów w ramach łamania dokumentów i osadza wygenerowane informacje w polu zawartości. Ta akcja wymaga ustawienia "dataToExtract" ."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 (na przykład zdjęć o tym samym rozmiarze w kontrolce grafu, jak pokazano w pokazie zestawu JFK). Te informacje są generowane dla każdego obrazu podczas korzystania z tej opcji.

Jeśli ustawisz wartość "generateNormalizedImagePerPage", pliki PDF będą traktowane inaczej zamiast wyodrębniania obrazów osadzonych, każda strona będzie renderowana jako obraz i odpowiednio znormalizowana. Typy plików innych niż PDF będą traktowane tak samo jak w przypadku "generateNormalizedImages" ustawienia.

Ustawienie konfiguracji na dowolną "imageAction" wartość inną niż "none" wymaga dołączenie zestawu umiejętności do tego indeksatora.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
Dowolna liczba całkowita z zakresu od 50 do 10000 Maksymalna szerokość lub wysokość (w pikselach) odpowiednio dla znormalizowanych obrazów generowanych podczas "imageAction" ustawiania. Wartość domyślna to 2000.

Wartość domyślna 2000 pikseli dla znormalizowanych obrazów o maksymalnej szerokości i wysokości jest oparta na maksymalnych rozmiarach obsługiwanych przez umiejętności OCR i umiejętności analizy obrazu. Umiejętność OCR obsługuje maksymalną szerokość i wysokość 4200 dla języków innych niż angielski i 10000 dla języka angielskiego. Jeśli zwiększysz maksymalne limity, przetwarzanie może zakończyć się niepowodzeniem w przypadku większych obrazów w zależności od definicji zestawu umiejętności i języka dokumentów.
"allowSkillsetToReadFileData" Wartość logiczna
true
false (wartość domyślna)
Ustawienie parametru w "allowSkillsetToReadFileData" celu 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. Wygenerowany obiekt zostanie zdefiniowany w następujący sposób: { "$type": "file", "data": "BASE64 encoded string of the file" }

Ustawienie parametru "allowSkillsetToReadFileData" na wartość wymaga, aby truezestaw umiejętności był dołączony do tego indeksatora, że "parsingMode" parametr jest ustawiony na "default", "text" lub "json", a "dataToExtract" parametr jest ustawiony na "contentAndMetadata" lub "allMetadata".
"pdfTextRotationAlgorithm" Ciąg
"none" (domyślne)
"detectAngles"
Ustawienie parametru "pdfTextRotationAlgorithm" w taki "detectAngles" sposób może pomóc w lepszej i bardziej czytelnej wyodrębnieniu tekstu z plików PDF, które obrócone w nich tekst. 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.

Ustawienie parametru "pdfTextRotationAlgorithm" na "detectAngles" wartość wymaga ustawienia parametru "parsingMode" na "default"wartość .

Parametry konfiguracji usługi Azure Cosmos DB

Następujące parametry są specyficzne dla indeksatorów usługi Cosmos DB.

Parametr Wpisz i dozwolone wartości Użycie
"assumeOrderByHighWaterMarkColumn" Wartość logiczna W przypadku indeksatorów usługi Cosmos DB z interfejsem API SQL ustaw ten parametr, aby zapewnić wskazówkę dla usługi Cosmos DB, że zapytanie używane do zwracania dokumentów do indeksowania jest w rzeczywistości uporządkowane według kolumny _ts . Ustawienie tego parametru zapewnia lepsze wyniki dla scenariuszy indeksowania przyrostowego.

parametry konfiguracji Azure SQL

Poniższe parametry są specyficzne dla Azure SQL Database.

Parametr Wpisz i dozwolone wartości Użycie
"queryTimeout" Ciąg
"hh:mm:ss"
"00:05:00"
Ustaw ten parametr, aby zastąpić wartość domyślną 5-minutową.
"convertHighWaterMarkToRowVersion" Wartość logiczna Ustaw ten parametr na wartość "true", aby użyć typu danych rowversion dla kolumny znacznika górnego limitu. Gdy ta właściwość ma wartość true, indeksator odejmuje jedną z wartości rowversion przed uruchomieniem indeksatora. Dzieje się tak, ponieważ widoki z sprzężeniami jeden do wielu mogą zawierać wiersze z zduplikowanymi wartościami rowversion. Odejmowanie jednego zapewnia, że zapytanie indeksatora nie przegapi tych wierszy.
"disableOrderByHighWaterMarkColumn" Wartość logiczna Ustaw ten parametr na wartość "true", jeśli chcesz wyłączyć zachowanie ORDER BY w zapytaniu używanym do wykrywania zmian. Jeśli używasz zasad wykrywania zmian znacznika górnego, indeksator używa klauzul WHERE i ORDER BY do śledzenia wierszy wymagających indeksowania (WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). Ten parametr wyłącza zachowanie ORDER BY. Indeksowanie zakończy się szybciej, ale kompromis polega na tym, że jeśli indeksator zostanie przerwany z jakiegokolwiek powodu, całe zadanie indeksatora musi zostać powtórzone w całości.

fieldMappings

Utwórz je, gdy nazwy lub typy pól źródłowych nie są zgodne lub gdy chcesz określić funkcję. Mapowania pól nie są uwzględniane wielkości liter. Zobacz Definiowanie mapowań pól.

Atrybut Opis
sourceFieldName Wymagane. Nazwa kolumny źródłowej.
targetFieldName Wymagane. Nazwa odpowiedniego pola w indeksie wyszukiwania.
mappingFunction Opcjonalny. Dodaje przetwarzanie do wartości źródłowych w drodze do wyszukiwarki. Na przykład dowolna wartość ciągu może być zakodowana w formacie base64, dzięki czemu może służyć do wypełniania pola klucza dokumentu. Funkcja mapowania ma nazwę i parametry. Prawidłowe wartości to:

base64Encode base64Decode

extractTokenAtPosition
jsonArrayToStringCollection
urlEncode urlDecode

outputFieldMappings

Określa dane wyjściowe umiejętności (lub węzły w drzewie wzbogacania) do pól w indeksie wyszukiwania.

  "outputFieldMappings" : [
        {
          "sourceFieldName" : "/document/organizations", 
          "targetFieldName" : "organizations"
        },
        {
          "sourceFieldName" : "/document/pages/*/keyPhrases/*", 
          "targetFieldName" : "keyphrases"
        },
        {
            "sourceFieldName": "/document/languageCode",
            "targetFieldName": "language",
            "mappingFunction": null
        }      
   ],

encryptionKey

Konfiguruje połączenie z usługą Azure Key Vault dla dodatkowych kluczy szyfrowania zarządzanych przez klienta (CMK). Szyfrowanie za pomocą kluczy zarządzanych przez klienta nie jest dostępne dla bezpłatnych usług. W przypadku usług rozliczanych usługa jest dostępna tylko dla usług wyszukiwania utworzonych w dniach 2019-01-01 lub później.

Połączenie z magazynem kluczy musi zostać uwierzytelnione. W tym celu można użyć tożsamości zarządzanej lub "accessCredentials".

Tożsamości zarządzane mogą być przypisane przez system lub użytkownika (wersja zapoznawcza). Jeśli usługa wyszukiwania ma zarówno tożsamość zarządzaną przypisaną przez system, jak i przypisanie roli, która udziela dostępu do odczytu do magazynu kluczy, możesz pominąć zarówno tożsamość, jak i "accessCredentials", a żądanie zostanie uwierzytelnione przy użyciu tożsamości zarządzanej przez system. Jeśli usługa wyszukiwania ma przypisaną przez użytkownika tożsamość i przypisanie roli, ustaw właściwość "identity" na identyfikator zasobu tej tożsamości.

Atrybut Opis
keyVaultKeyName Wymagane. Nazwa klucza usługi Azure Key Vault używanego do szyfrowania.
keyVaultKeyVersion Wymagane. Wersja klucza usługi Azure Key Vault.
keyVaultUri Wymagane. Identyfikator URI usługi Azure Key Vault (nazywany również nazwą DNS), który udostępnia klucz. Przykładowy identyfikator URI może być https://my-keyvault-name.vault.azure.net
accessCredentials Pomiń, jeśli używasz tożsamości zarządzanej. W przeciwnym razie właściwości accessCredentials include applicationId (identyfikator aplikacji usługi Azure Active Directory, który ma uprawnienia dostępu do określonej usługi Azure Key Vault) i applicationSecret (klucz uwierzytelniania określonej aplikacji Azure AD).
identity Opcjonalnie, chyba że używasz tożsamości zarządzanej przypisanej przez użytkownika na potrzeby połączenia usługi wyszukiwania z usługą Azure Key Vault. Format to "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]".

Zobacz też