Indeksowanie danych z usługi Azure Blob Storage

Uwaga / Notatka

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.

Ważna

Te funkcje i możliwości obsługują połączenia z innymi usługami firmy Microsoft i usługami innych firm. Korzystanie z tych usług podlega odpowiednim warunkom i może spowodować przetwarzanie lub przechowywanie danych poza granicą zgodności Azure, a także dane przepływające do granicy zgodności Azure.

Do Ciebie należy decydowanie o tym, czy dane będą przepływać poza granice zgodności i granice geograficzne organizacji, oraz o wszelkich związanych z tym konsekwencjach, a także zapewnienie odpowiednich uprawnień, ograniczeń i zatwierdzeń.

Odpowiadasz za staranne przeglądanie i testowanie aplikacji, które tworzysz w kontekście konkretnych przypadków użycia, oraz podejmowanie wszelkich odpowiednich decyzji i dostosowań. Obejmuje to implementowanie własnych odpowiedzialnych środków zaradczych dotyczących sztucznej inteligencji, takich jak metaprompty, filtry zawartości lub inne systemy bezpieczeństwa oraz zapewnienie, że aplikacje spełniają odpowiednią jakość, niezawodność, bezpieczeństwo i standardy wiarygodności. Aby uzyskać więcej informacji, zobacz Wyszukiwanie AI platformy Azure Transparency Note.

Indeksator obiektów blob importuje zawartość z Azure Blob Storage i umożliwia wyszukiwanie w Wyszukiwanie AI platformy Azure. Indeksator odbiera obiekty blob w jednym kontenerze jako dane wejściowe. Dane wyjściowe to indeks wyszukiwania, który przechowuje przeszukiwalną zawartość i metadane w poszczególnych polach.

W tym artykule użyto interfejsów API REST usługi wyszukiwania , aby zademonstrować sposób konfigurowania i uruchamiania indeksatora. Można jednak również użyć:

Uwaga / Notatka

Usługa Wyszukiwanie AI platformy Azure może pozyskiwać zakres kontroli dostępu opartej na rolach (RBAC) podczas indeksowania i przenosić te uprawnienia do indeksowanej zawartości w indeksie wyszukiwania. Aby uzyskać więcej informacji, zobacz Użyj indeksatora obiektów blob lub źródła wiedzy do importowania metadanych zakresów RBAC (wersja zapoznawcza).

Wymagania wstępne

  • Azure Blob Storage, Standardowa wydajność (ogólnego przeznaczenia generacja 2).

  • Warstwy dostępu obejmują gorącą, chłodną, zimną oraz archiwalną. Indeksatory mogą pobierać obiekty blob w warstwach dostępu Gorąca, Chłodna i Zimna.

  • Obiekty blob dostarczające zawartość tekstowa i metadane. Jeśli obiekty blob zawierają zawartość binarną lub tekst bez struktury, rozważ dodanie wzbogacania sztuczną inteligencją na potrzeby przetwarzania obrazów i języka naturalnego. Zawartość obiektu blob nie może przekraczać limitów indeksatora dla warstwy cenowej.

    Limity indeksatora blobów obejmują maksymalny rozmiar obiektu blob oraz liczbę znaków, które Wyszukiwanie AI platformy Azure wyodrębnia z obiektu blob. Jeśli używasz zestawu umiejętności, limit danych wejściowych lub usługi poszczególnych umiejętności ma zastosowanie oddzielnie po pęknięciu dokumentu.

  • Obsługiwana konfiguracja sieci i dostęp do danych. Co najmniej potrzebne są uprawnienia do odczytu w usłudze Azure Storage. Ciąg połączenia z magazynem, który zawiera klucz dostępu, zapewnia dostęp do odczytu zawartości magazynu. Jeśli zamiast tego używasz identyfikatorów logowania i ról firmy Microsoft Entra, upewnij się, że tożsamość zarządzana usługi wyszukiwania ma uprawnienia Czytelnik danych obiektu blob usługi Storage.

    Domyślnie zarówno wyszukiwanie, jak i magazyn akceptują żądania z publicznych adresów IP. Jeśli zabezpieczenia sieciowe nie są bezpośrednim problemem, możesz indeksować dane obiektów blob, używając tylko łańcucha połączenia i uprawnień do odczytu. Gdy wszystko będzie gotowe do dodania ochrony sieci, zobacz Indeksator dostępu do zawartości chronionej przez funkcje zabezpieczeń sieci platformy Azure, aby uzyskać wskazówki dotyczące dostępu do danych.

  • Użyj klienta REST, aby sformułować wywołania REST podobne do tych przedstawionych w tym artykule.

Obsługiwane zadania

Tego indeksatora można używać do wykonywania następujących zadań:

Obsługiwane formaty dokumentów

Indeksator obiektów blob może wyodrębnić tekst z następujących formatów dokumentów:

  • CSV (zobacz Indeksowanie obiektów blobów CSV)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (zobacz Indeksowanie blobów JSON)
  • KML (XML dla reprezentacji geograficznych)
  • Markdown
  • Formaty pakietu Microsoft Office: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (wiadomości e-mail programu Outlook), XML (zarówno 2003, jak i 2006 WORD XML)
  • Formaty dokumentów OpenDocument: ODT, ODS, ODP
  • PDF
  • Pliki zwykłego tekstu (zobacz też Indeksowanie zwykłego tekstu)
  • RTF
  • XML
  • ZIP

Określ, które obiekty blob będą indeksowane

Przed skonfigurowaniem indeksowania przejrzyj dane źródłowe, aby ustalić, czy należy wprowadzić jakiekolwiek zmiany. Indeksator może indeksować zawartość z jednego kontenera jednocześnie. Domyślnie indeksator przetwarza wszystkie obiekty blob w kontenerze. Istnieje kilka opcji bardziej selektywnego przetwarzania:

  • Umieść obiekty blob w folderze wirtualnym. Definicja źródła danych indeksatora zawiera query parametr, który może przyjmować folder wirtualny. Jeśli określisz folder wirtualny, indeksator indeksuje tylko te bloby w folderze.

  • Dołączanie lub wykluczanie obiektów blob według typu pliku. Lista obsługiwanych formatów dokumentów może pomóc w ustaleniu, które obiekty blob mają zostać wykluczone. Możesz na przykład wykluczyć pliki obrazów lub audio, które nie udostępniają tekstu z możliwością wyszukiwania. Tę możliwość można kontrolować za pomocą ustawień konfiguracji w indeksatorze.

  • Dołączanie lub wykluczanie dowolnych obiektów blob. Aby zignorować określony blob, dodaj następujące właściwości i wartości metadanych do obiektów blob w usłudze Azure Blob Storage. Gdy indeksator napotka tę właściwość, pomija obiekt blob lub jego zawartość w przebiegu indeksowania.

    Nazwa właściwości Wartość właściwości Explanation
    AzureSearch_Skip true Nakazuje indeksatorowi obiektów blob całkowite pominięcie obiektu blob. Indeksator nie próbuje wyodrębnić metadanych ani zawartości. Ta właściwość jest przydatna, gdy określony blob powoduje błąd i przerywa proces indeksowania.
    AzureSearch_SkipContent true Indeksator pomija zawartość i wyodrębnia tylko metadane. Ta właściwość jest równoważna ustawieniu opisanemu "dataToExtract": "allMetadata" w ustawieniach konfiguracji, ale jest ograniczona do określonego obiektu blob.

Jeśli nie skonfigurujesz kryteriów dołączania lub wykluczania, indeksator zgłasza, że obiekt blob jest niekwalifikowany jako błąd i kontynuuje. Jeśli wystąpi wystarczająca liczba błędów, przetwarzanie może zostać zatrzymane. Tolerancja błędów można określić w ustawieniach konfiguracji indeksatora.

Indeksator zwykle tworzy jeden dokument wyszukiwania na obiekt blob, w którym zawartość tekstowa i metadane są przechwytywane jako pola z możliwością wyszukiwania w indeksie. Jeśli obiekty blob są całymi plikami, możesz je potencjalnie przeanalizować w wielu dokumentach wyszukiwania. Można na przykład przeanalizować wiersze w pliku CSV, aby utworzyć jeden dokument wyszukiwania dla każdego wiersza.

Złożony lub osadzony dokument (taki jak archiwum ZIP, dokument programu Word z osadzoną wiadomością e-mail programu Outlook zawierającą załączniki lub . Plik MSG z załącznikami) jest również indeksowany jako pojedynczy dokument. Na przykład wszystkie obrazy wyodrębnione z załączników pliku MSG są zwracane w polu normalized_images. Jeśli masz obrazy, rozważ dodanie wzbogacenia przez sztuczną inteligencję, aby uzyskać większą użyteczność wyszukiwania z tej zawartości.

Indeksator wyodrębnia tekstową zawartość dokumentu do pola ciągu o nazwie content. Można również wyodrębnić standardowe i zdefiniowane przez użytkownika metadane.

Indeksowanie metadanych obiektu blob

Metadane obiektu blob można indeksować wraz z zawartością. Indeksator wyodrębnia właściwości metadanych i przechowuje je w polach indeksu, co jest przydatne podczas tworzenia filtrów i zapytań.

Zdefiniuj pola w indeksie wyszukiwania dla właściwości metadanych, które chcesz przechwycić. Nie musisz definiować każdej dostępnej standardowej ani niestandardowej właściwości metadanych. Wystarczy przechwycić właściwości potrzebne dla aplikacji.

Obecnie ten indeksator nie obsługuje indeksowania tagów indeksu obiektów blob.

Ważna

Indeksator wypełnia tylko pola metadanych, które są już zdefiniowane w indeksie wyszukiwania. To wymaganie dotyczy zarówno standardowych metadanych obiektów blob, jak i niestandardowych metadanych. Jeśli pole nie jest zdefiniowane, wartość metadanych jest wyodrębniona podczas indeksowania, ale dyskretnie odrzucana, więc nie jest wyświetlana w wynikach wyszukiwania. Jest to najczęstsze źródło pól metadanych o wartości null w wynikach wyszukiwania. Aby uzyskać więcej informacji, zobacz Pola metadanych mają wartość null w wynikach wyszukiwania.

Standardowe właściwości metadanych obiektu blob

W przypadku standardowych metadanych obiektu blob zdefiniuj pola w indeksie przy użyciu tych samych nazw podkreślonych. Aby zapoznać się z przykładami definicji pól krok po kroku, zobacz Dodawanie pól wyszukiwania do indeksu.

Informacje o konfiguracji indeksatora, w tym o ustawieniu dataToExtract, które określa, które metadane mają zostać wyodrębnione, można znaleźć w artykule Konfigurowanie i uruchamianie indeksatora obiektów blob.

Indeksator rozpoznaje i może mapować te standardowe właściwości metadanych, jeśli zdefiniujesz odpowiednie pola w indeksie:

  • metadata_storage_name (Edm.String) to nazwa pliku blob. Jeśli na przykład masz obiekt blob /my-container/my-folder/subfolder/resume.pdf, wartość tego pola to resume.pdf.

  • metadata_storage_path (Edm.String) to pełny identyfikator URI obiektu blob, w tym konto magazynu danych. Na przykład https://myaccount.blob.core.windows.net/my-container/my-folder/subfolder/resume.pdf. Użyj tej właściwości, aby uwzględnić adresy URL obiektów blob w wynikach wyszukiwania na potrzeby nawigacji lub przypisania źródła.

  • metadata_storage_content_type (Edm.String) jest typem zawartości określonym przez kod użyty do przekazania obiektu blob. Na przykład application/octet-stream.

  • metadata_storage_last_modified (Edm.DateTimeOffset) to ostatni zmodyfikowany znacznik czasu obiektu blob. Wyszukiwanie AI platformy Azure używa tego znacznika czasu do identyfikowania zmienionych obiektów blob i unikania ponownego indeksowania wszystkiego po początkowym indeksowaniu.

  • metadata_storage_size (Edm.Int64) to rozmiar obiektu blob w bajtach.

  • metadata_storage_content_md5 (Edm.String) to skrót MD5 zawartości obiektu blob, jeśli jest dostępny.

  • metadata_storage_sas_token (Edm.String) to tymczasowy token SAS, którego niestandardowe umiejętności mogą używać do uzyskiwania dostępu do obiektu blob. Nie przechowuj tego tokenu do późniejszego użycia, ponieważ może on wygasnąć.

Metadane niestandardowe i specyficzne dla zawartości

W przypadku niestandardowych lub zdefiniowanych przez użytkownika metadanych obiektu blob zdefiniuj pole o dokładnie takiej samej nazwie jak klucz metadanych obiektu blob. Jeśli na przykład obiekty blob mają klucz Sensitivity metadanych o wartości High, zdefiniuj pole o nazwie Sensitivity typu Edm.String w indeksie.

Można również reprezentować właściwości metadanych specyficzne dla formatu dokumentu obiektów blob, które indeksujesz. Aby uzyskać więcej informacji, zobacz Właściwości metadanych zawartości.

Definiowanie źródła danych

Definicja źródła danych określa dane do indeksowania, poświadczeń i zasad identyfikowania zmian w danych. Źródło danych jest definiowane jako niezależny zasób, dzięki czemu może być używane przez wiele indeksatorów.

  1. Utwórz lub zaktualizuj źródło danych, aby ustawić jego definicję:

    {
        "name" : "my-blob-datasource",
        "type" : "azureblob",
        "credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" },
        "container" : { "name" : "my-container", "query" : "<optional-virtual-directory-name>" }
    }
    
  2. Ustaw type na azureblob (wymagane).

  3. Ustaw credentials na ciąg połączenia usługi Azure Storage. W następnej sekcji opisano obsługiwane formaty.

  4. Ustaw container jako kontener blob i użyj query do określenia dowolnych podfolderów.

Możesz również uwzględnić zasady usuwania miękkiego w definicji źródła danych, jeśli chcesz, by indeksator usunął dokument wyszukiwania, gdy dokument źródłowy jest oznaczony do usunięcia.

Obsługiwane poświadczenia i parametry połączenia

Indeksatory mogą łączyć się z kontenerem danych blob przy użyciu następujących połączeń.

Ciąg połączenia do konta magazynu z pełnym dostępem
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" }
Ciąg połączenia można pobrać ze strony konta magazynowego w portalu Azure, wybierając Klucze dostępu w lewym panelu. Pamiętaj, aby wybrać pełny ciąg połączenia, a nie tylko klucz.
Parametry połączenia tożsamości zarządzanej
{ "connectionString" : "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.Storage/storageAccounts/<your storage account name>/;" }
Ten ciąg połączenia nie wymaga klucza konta, ale musisz wcześniej skonfigurować usługę wyszukiwania, aby połączyć się przy użyciu tożsamości zarządzanej.
Parametry połączenia sygnatury współdzielonego dostępu (SAS) konta magazynowego
{ "connectionString" : "BlobEndpoint=https://<your account>.blob.core.windows.net/;SharedAccessSignature=?sv=2016-05-31&sig=<the signature>&spr=https&se=<the validity end time>&srt=co&ss=b&sp=rl;" }
Sygnatura dostępu współdzielonego powinna mieć uprawnienia do odczytu i wyświetlania listy kontenerów i obiektów (w tym przypadku blobów).
Sygnatura współdzielonego dostępu do kontenera
{ "connectionString" : "ContainerSharedAccessUri=https://<your storage account>.blob.core.windows.net/<container name>?sv=2016-05-31&sr=c&sig=<the signature>&se=<the validity end time>&sp=rl;" }
Sygnatura dostępu współdzielonego powinna mieć w kontenerze uprawnienia do odczytu i wyświetlenia listy. Aby uzyskać więcej informacji, zobacz Udzielanie ograniczonego dostępu do zasobów usługi Azure Storage przy użyciu sygnatur dostępu współdzielonego (SAS).

Uwaga / Notatka

Jeśli używasz poświadczeń SAS, musisz okresowo aktualizować poświadczenia źródła danych, korzystając z odnowionych podpisów, aby zapobiec ich wygaśnięciu. Jeśli poświadczenia sygnatury dostępu współdzielonego wygasną, indeksator zakończy się niepowodzeniem i wyświetli komunikat o błędzie podobny do "Poświadczenia podane w parametrach połączenia są nieprawidłowe lub wygasły".

Dodawanie pól wyszukiwania do indeksu

W indeksie wyszukiwania dodaj pola, aby zaakceptować zawartość i metadane obiektów blob platformy Azure.

  1. Utwórz lub zaktualizuj indeks, aby zdefiniować pola wyszukiwania przechowujące zawartość i metadane obiektów blob:

    POST https://[service name].search.windows.net/indexes?api-version=2026-04-01
    {
        "name" : "my-search-index",
        "fields": [
            { "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
            { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false },
            { "name": "metadata_storage_name", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true  },
            { "name": "metadata_storage_size", "type": "Edm.Int64", "searchable": false, "filterable": true, "sortable": true  },
            { "name": "metadata_storage_content_type", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },        
        ]
    }
    
  2. Utwórz pole klucza dokumentu ("key": true). W przypadku zawartości obiektu blob najlepszymi kandydatami są właściwości metadanych.

    • metadata_storage_path (ustawienie domyślne) to pełna ścieżka do obiektu lub pliku. Pole klucza (ID w tym przykładzie) jest wypełniane wartościami z metadata_storage_path, ponieważ jest to ustawienie domyślne.

    • metadata_storage_name można używać tylko wtedy, gdy nazwy są unikatowe. Jeśli chcesz, aby to pole było kluczem, przejdź "key": true do tej definicji pola.

    • Niestandardowa właściwość metadanych, którą dodajesz do obiektów blob. Ta opcja wymaga, aby proces przekazywania obiektów blob dodał tę właściwość metadanych do wszystkich obiektów blob. Ponieważ klucz jest wymaganą właściwością, wszystkie obiekty blob, których brakuje wartości, nie mogą być indeksowane. Jeśli używasz niestandardowej właściwości metadanych jako klucza, unikaj wprowadzania zmian w tej właściwości. Indeksatory dodają zduplikowane dokumenty dla tego samego obiektu blob, jeśli właściwość klucza ulegnie zmianie.

    Właściwości metadanych często zawierają znaki, takie jak / i -, które są nieprawidłowe dla kluczy dokumentów. Jednak indeksator automatycznie koduje kluczową właściwość metadanych, bez potrzeby konfiguracji lub mapowania pól.

  3. content Dodaj pole do przechowywania wyodrębnionego tekstu z każdego pliku za pośrednictwem właściwości obiektu blobcontent. Nie musisz używać tej nazwy, ale używając jej, możesz skorzystać z niejawnych mapowań pól.

  4. Dodaj pola dla standardowych właściwości metadanych. Indeksator może odczytywać właściwości metadanych niestandardowych, właściwości standardowych metadanych i właściwości metadanych specyficznych dla zawartości.

Konfigurowanie i uruchamianie indeksatora obiektów blob

Po utworzeniu indeksu i źródła danych utwórz indeksator. Konfiguracja indeksatora określa dane wejściowe, parametry i właściwości kontrolujące zachowania środowiska uruchomieniowego. Można również określić, które części obiektu blob mają być zindeksowane.

  1. Utwórz lub zaktualizuj indeksator , podając mu nazwę i odwołując się do źródła danych i indeksu docelowego:

    POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
    {
      "name" : "my-blob-indexer",
      "dataSourceName" : "my-blob-datasource",
      "targetIndexName" : "my-search-index",
      "parameters": {
          "batchSize": null,
          "maxFailedItems": null,
          "maxFailedItemsPerBatch": null,
          "configuration": {
              "indexedFileNameExtensions" : ".pdf,.docx",
              "excludedFileNameExtensions" : ".png,.jpeg",
              "dataToExtract": "contentAndMetadata",
              "parsingMode": "default"
          }
      },
      "schedule" : { },
      "fieldMappings" : [ ]
    }
    
  2. Ustaw batchSize , jeśli wartość domyślna (10 dokumentów) nie jest wykorzystywana lub przeciąża dostępne zasoby. Domyślne rozmiary partii są specyficzne dla źródła danych. Indeksowanie obiektów blob ustawia rozmiar partii na 10 dokumentów ze względu na większą średnią wielkość dokumentów.

  3. W configuration, kontroluj, czy obiekty blob są indeksowane według typu pliku, lub pozostaw tę opcję nieokreśloną, aby pobrać wszystkie obiekty blob.

    W przypadku indexedFileNameExtensions, podaj rozdzielaną przecinkami listę rozszerzeń plików (z kropką wiodącą). Wykonaj to samo dla excludedFileNameExtensions, aby wskazać rozszerzenia, które indeksator powinien pominąć. Jeśli to samo rozszerzenie znajduje się na obu listach, indeksator wyklucza go z indeksowania.

  4. W obszarze configurationustaw wartość dataToExtract , aby kontrolować, które części obiektów blob są indeksowane:

  5. W obszarze configurationustaw wartość parsingMode. Domyślny tryb analizowania to jeden dokument wyszukiwania przypadający na blob. Jeśli obiekty blob są zwykłym tekstem, możesz uzyskać lepszą wydajność, przełączając się na analizowanie zwykłego tekstu . Jeśli potrzebujesz bardziej szczegółowego analizowania obiektów blob mapowanego na wiele dokumentów wyszukiwania, określ inny tryb. Analizowanie jeden do wielu jest obsługiwane w przypadku obiektów blob składających się z:

  6. Określ mapowania pól, jeśli istnieją różnice w nazwie lub typie pola lub jeśli potrzebujesz wielu wersji pola źródłowego w indeksie wyszukiwania.

    W indeksowaniu obiektów blob często można pominąć mapowania pól, ponieważ indeksator ma wbudowaną obsługę mapowania content oraz właściwości metadanych na podobnie nazwane i typowane pola w indeksie. W przypadku właściwości metadanych indeksator automatycznie zastępuje łączniki - podkreśleniami w indeksie wyszukiwania.

  7. Aby uzyskać więcej informacji na temat innych właściwości, zobacz Tworzenie indeksatora . Aby uzyskać pełną listę opisów parametrów, zobacz interfejs API REST.

Indeksator jest uruchamiany automatycznie po jego utworzeniu. Możesz zapobiec tej akcji, ustawiając wartość disabled true. Aby kontrolować wykonywanie indeksatora, uruchom indeksator na żądanie lub umieść go zgodnie z harmonogramem.

Indeksowanie danych z wielu kontenerów obiektów blob platformy Azure do pojedynczego indeksu

Pamiętaj, że indeksator może indeksować tylko dane z jednego kontenera. Jeśli musisz indeksować dane z wielu kontenerów i konsolidować je w jeden indeks wyszukiwania sztucznej inteligencji, skonfiguruj wiele indeksatorów wskazujących ten sam indeks. Należy pamiętać o maksymalnej liczbie indeksatorów dostępnych dla jednostki SKU.

Na przykład można użyć dwóch indeksatorów do ściągania danych z dwóch odrębnych źródeł danych o nazwach my-blob-datasource1 i my-blob-datasource2. Każde źródło danych wskazuje na oddzielny kontener obiektów blob platformy Azure, ale oba kierują do tego samego indeksu o nazwie my-search-index.

Przykład pierwszej definicji indeksatora:

POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
{
  "name" : "my-blob-indexer1",
  "dataSourceName" : "my-blob-datasource1",
  "targetIndexName" : "my-search-index",
  "parameters": {
      "batchSize": null,
      "maxFailedItems": null,
      "maxFailedItemsPerBatch": null,
      "configuration": {
          "indexedFileNameExtensions" : ".pdf,.docx",
          "excludedFileNameExtensions" : ".png,.jpeg",
          "dataToExtract": "contentAndMetadata",
          "parsingMode": "default"
      }
  },
  "schedule" : { },
  "fieldMappings" : [ ]
}

Druga definicja indeksatora uruchamiana równolegle:

POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
{
  "name" : "my-blob-indexer2",
  "dataSourceName" : "my-blob-datasource2",
  "targetIndexName" : "my-search-index",
  "parameters": {
      "batchSize": null,
      "maxFailedItems": null,
      "maxFailedItemsPerBatch": null,
      "configuration": {
          "indexedFileNameExtensions" : ".pdf,.docx",
          "excludedFileNameExtensions" : ".png,.jpeg",
          "dataToExtract": "contentAndMetadata",
          "parsingMode": "default"
      }
  },
  "schedule" : { },
  "fieldMappings" : [ ]
}

Sprawdzanie stanu indeksatora

Aby monitorować stan indeksatora i historię wykonywania, wyślij żądanie Get Indexer Status:

GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2026-04-01
  Content-Type: application/json  
  api-key: [admin key]

Odpowiedź zawiera stan i liczbę przetworzonych elementów. Powinien on wyglądać podobnie do poniższego przykładu:

    {
        "status":"running",
        "lastResult": {
            "status":"success",
            "errorMessage":null,
            "startTime":"2022-02-21T00:23:24.957Z",
            "endTime":"2022-02-21T00:36:47.752Z",
            "errors":[],
            "itemsProcessed":1599501,
            "itemsFailed":0,
            "initialTrackingState":null,
            "finalTrackingState":null
        },
        "executionHistory":
        [
            {
                "status":"success",
                "errorMessage":null,
                "startTime":"2022-02-21T00:23:24.957Z",
                "endTime":"2022-02-21T00:36:47.752Z",
                "errors":[],
                "itemsProcessed":1599501,
                "itemsFailed":0,
                "initialTrackingState":null,
                "finalTrackingState":null
            },
            ... earlier history items
        ]
    }

Historia wykonywania zawiera maksymalnie 50 ostatnio ukończonych wykonań. Wpisy są sortowane w odwrotnej kolejności chronologicznej, więc najnowsze wykonanie następuje najpierw.

Troubleshooting

Ta sekcja służy do diagnozowania brakujących wartości metadanych i typowych błędów indeksowania obiektów blob.

Pola metadanych mają wartość null w wynikach wyszukiwania

Jeśli w wynikach wyszukiwania są widoczne wartości null lub puste dla pól metadanych, użyj tej listy kontrolnej:

  1. Sprawdź, czy pole istnieje w schemacie indeksu: Sprawdź, czy zdefiniowano pole dla każdej właściwości metadanych, którą chcesz przechwycić. Uruchom żądanie GET w indeksie, aby potwierdzić, że pole jest obecne.

  2. Użyj poprawnej nazwy pola: W przypadku standardowych właściwości obiektu blob użyj nazwy podkreślonej, takiej jak metadata_storage_path zamiast metadata-storage-path. W przypadku metadanych niestandardowych nazwa pola musi być dokładnie zgodna z kluczem metadanych obiektu blob.

  3. Upewnij się, że indeksator został dataToExtract poprawnie ustawiony:

    • contentAndMetadata (ustawienie domyślne) wyodrębnia zarówno treść, jak i standardowe i niestandardowe metadane.
    • storageMetadata Wyodrębnia tylko standardowe właściwości obiektu blob i niestandardowe metadane.
    • allMetadata Wyodrębnia standardowe właściwości oraz metadane specyficzne dla typu zawartości.

    Sprawdź konfigurację indeksatora, aby upewnić się, że ustawienie jest zgodne z twoją intencją.

  4. Uruchom ponownie indeksator po aktualizacji schematu: Jeśli dodano nowe pole do indeksu, uruchom ponownie indeksator, aby dokumenty były przetwarzane względem zaktualizowanego schematu. Przed wypełnieniem nowego pola może być konieczne ponowne przetworzenie istniejących dokumentów.

  5. Sprawdź historię wykonywania indeksatora: Przejdź do indeksatora w portalu Azure lub użyj polecenia Pobierz stan indeksatora (interfejs API REST), aby wyświetlić szczegóły wykonywania i wszelkie komunikaty o błędach.

Błędy indeksatora i nieobsługiwane typy zawartości

Domyślnie indeksator obiektów blob zatrzymuje się zaraz po napotkaniu obiektu blob z nieobsługiwanym typem zawartości, takim jak plik dźwiękowy. Możesz użyć parametru excludedFileNameExtensions , aby pominąć niektóre typy zawartości.

Jeśli chcesz kontynuować indeksowanie w przypadku niepowodzenia niektórych dokumentów, dostosuj następujące parametry, a następnie zbadaj poszczególne dokumenty później. Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące rozwiązywania problemów z indeksatoremoraz błędy i ostrzeżenia indeksatora.

W przypadku wystąpienia błędów pięć parametrów indeksatora kontroluje odpowiedź indeksatora:

PUT /indexers/[indexer name]?api-version=2026-04-01
{
  "parameters" : { 
    "maxFailedItems" : 10, 
    "maxFailedItemsPerBatch" : 10,
    "configuration" : { 
        "failOnUnsupportedContentType" : false, 
        "failOnUnprocessableDocument" : false,
        "indexStorageMetadataOnlyForOversizedDocuments": false
      }
    }
}
Parameter Prawidłowe wartości Description
maxFailedItems -1, null lub 0, dodatnia liczba całkowita Kontynuuj indeksowanie, jeśli błędy występują w dowolnym momencie przetwarzania, podczas analizowania obiektów blob lub podczas dodawania dokumentów do indeksu. Ustaw tę właściwość na liczbę dopuszczalnych niepowodzeń. Wartość -1 umożliwia przetwarzanie bez względu na liczbę błędów. W przeciwnym razie wartość jest dodatnią liczbą całkowitą.
maxFailedItemsPerBatch -1, null lub 0, dodatnia liczba całkowita Tak samo jak powyżej, ale używany do indeksowania wsadowego.
failOnUnsupportedContentType prawda lub fałsz Jeśli indeksator nie może określić typu zawartości, określ, czy kontynuować, czy zakończyć zadanie.
failOnUnprocessableDocument prawda lub fałsz Jeśli indeksator nie może przetworzyć dokumentu innego obsługiwanego typu zawartości, określ, czy kontynuować, czy nie wykonać zadania.
indexStorageMetadataOnlyForOversizedDocuments prawda lub fałsz Oversized blobs są domyślnie traktowane jako błędy. Jeśli ustawisz ten parametr na wartość true, indeksator spróbuje zaindeksować jego metadane, nawet jeśli nie można indeksować zawartości. Aby uzyskać informacje o limitach rozmiaru obiektu blob, zobacz Limity usługi.