Włączanie buforowania na potrzeby wzbogacania przyrostowego w usłudze Azure AI Search

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej w ramach dodatkowych warunków użytkowania. Interfejs API REST w wersji zapoznawczej obsługuje tę funkcję.

W tym artykule wyjaśniono, jak dodać buforowanie do potoku wzbogacania, aby można było modyfikować kroki wzbogacania podrzędnego bez konieczności ponownego kompilowania za każdym razem. Domyślnie zestaw umiejętności jest bezstanowy i zmiana dowolnej części składu wymaga pełnego ponownego uruchomienia indeksatora. Dzięki pamięci podręcznej wzbogacania indeksator może określić, które części drzewa dokumentów muszą być odświeżane na podstawie zmian wykrytych w definicjach zestawu umiejętności lub indeksatora. Istniejące przetworzone dane wyjściowe są zachowywane i ponownie używane wszędzie tam, gdzie to możliwe.

Zawartość buforowana jest umieszczana w usłudze Azure Storage przy użyciu podanych informacji o koncie. Kontener o nazwie ms-az-search-indexercache-<alpha-numerc-string>, jest tworzony podczas uruchamiania indeksatora. Należy go uznać za składnik wewnętrzny zarządzany przez usługę wyszukiwania i nie może być modyfikowany.

Wymagania wstępne

Należy zapoznać się z konfigurowaniem indeksatorów. Zacznij od przeglądu indeksatora, a następnie przejdź do zestawów umiejętności, aby dowiedzieć się więcej o potokach wzbogacania. Aby uzyskać więcej informacji na temat kluczowych pojęć, zobacz wzbogacanie przyrostowe.

Uwaga

Jeśli używasz indeksatora usługi SharePoint Online (wersja zapoznawcza), należy unikać przyrostowego wzbogacania. W pewnych okolicznościach pamięć podręczna staje się nieprawidłowa, wymagając zresetowania indeksatora i uruchomienia, jeśli zdecydujesz się go ponownie załadować.

Włącz dla nowych indeksatorów

Aby włączyć pamięć podręczną wzbogacania indeksatora, możesz użyć witryny Azure Portal, interfejsów API w wersji zapoznawczej lub zestawów SDK platformy Azure w wersji beta.

  1. Po lewej stronie wybierz pozycję Indeksatory, a następnie wybierz pozycję Dodaj indeksator.

  2. Podaj nazwę indeksatora i istniejący indeks, źródło danych i zestaw umiejętności.

  3. Włącz buforowanie przyrostowe i ustaw konto usługi Azure Storage.

    Screenshot of the portal option for enrichment cache.

Włącz dla istniejących indeksatorów

W przypadku istniejących indeksatorów, które mają już zestaw umiejętności, wykonaj następujące kroki, aby dodać buforowanie. W ramach jednorazowej operacji zresetuj i ponownie uruchom indeksator w całości, aby załadować pamięć podręczną.

Krok 1. Pobieranie definicji indeksatora

Zacznij od prawidłowego indeksatora roboczego, który ma następujące składniki: źródło danych, zestaw umiejętności, indeks. Za pomocą klienta interfejsu API wyślij żądanie get indexer w celu pobrania indeksatora. W przypadku używania wersji interfejsu API w wersji zapoznawczej do indeksatora właściwość "cache" ustawiona na wartość null jest dodawana automatycznie do definicji.

GET https://[YOUR-SEARCH-SERVICE].search.windows.net/indexers/[YOUR-INDEXER-NAME]?api-version=2021-04-30-Preview
    Content-Type: application/json
    api-key: [YOUR-ADMIN-KEY]

Krok 2. Ustawianie właściwości pamięci podręcznej

W definicji indeksu zmodyfikuj "pamięć podręczną", aby uwzględnić następujące wymagane i opcjonalne właściwości:

  • (Wymagane) storageConnectionString musi być ustawiona na parametry połączenia usługi Azure Storage.
  • (Opcjonalnie) enableReprocessing Właściwość logiczna (true domyślnie) wskazuje, że włączono wzbogacanie przyrostowe. Ustaw wartość na false wartość , jeśli chcesz wstrzymać przetwarzanie przyrostowe podczas wykonywania innych operacji intensywnie korzystających z zasobów, takich jak indeksowanie nowych dokumentów, są w toku, a następnie przełączają się z powrotem do true późniejszego.
POST https://[service name].search.windows.net/indexers?api-version=2021-04-30-Preview
    {
        "name": "<YOUR-INDEXER-NAME>",
        "targetIndexName": "<YOUR-INDEX-NAME>",
        "dataSourceName": "<YOUR-DATASOURCE-NAME>",
        "skillsetName": "<YOUR-SKILLSET-NAME>",
        "cache" : {
            "storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
            "enableReprocessing": true
        },
        "fieldMappings" : [],
        "outputFieldMappings": [],
        "parameters": []
    }

Krok 3. Resetowanie indeksatora

Resetowanie indeksatora jest wymagane podczas konfigurowania wzbogacania przyrostowego dla istniejących indeksatorów, aby upewnić się, że wszystkie dokumenty są w stanie spójnym. W tym zadaniu można użyć portalu lub klienta interfejsu API.

POST https://[YOUR-SEARCH-SERVICE].search.windows.net/indexers/[YOUR-INDEXER-NAME]/reset?api-version=2021-04-30-Preview
    Content-Type: application/json
    api-key: [YOUR-ADMIN-KEY]

Krok 4. Zapisywanie indeksatora

Zaktualizuj indeksator (2021-04-30-Preview) przy użyciu żądania PUT, gdzie treść żądania zawiera "pamięć podręczną".

PUT https://[YOUR-SEARCH-SERVICE].search.windows.net/indexers/[YOUR-INDEXER-NAME]?api-version=2021-04-30-Preview
    Content-Type: application/json
    api-key: [YOUR-ADMIN-KEY]
    {
        "name" : "<YOUR-INDEXER-NAME>",
        ...
        "cache": {
            "storageConnectionString": "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
            "enableReprocessing": true
        }
    }

Jeśli teraz wydasz kolejne żądanie GET w indeksatorze, odpowiedź z usługi zawiera ID właściwość w obiekcie pamięci podręcznej. Ciąg alfanumeryczny jest dołączany do nazwy kontenera zawierającego wszystkie buforowane wyniki i stan pośredni każdego dokumentu przetworzonego przez ten indeksator. Identyfikator jest używany do unikatowej nazwy pamięci podręcznej w usłudze Blob Storage.

    "cache": {
        "ID": "<ALPHA-NUMERIC STRING>",
        "enableReprocessing": true,
        "storageConnectionString": "DefaultEndpointsProtocol=https;AccountName=<YOUR-STORAGE-ACCOUNT>;AccountKey=<YOUR-STORAGE-KEY>;EndpointSuffix=core.windows.net"
    }

Krok 5. Uruchamianie indeksatora

Aby uruchomić indeksator, możesz użyć portalu lub interfejsu API. W portalu z listy indeksatorów wybierz indeksator i wybierz pozycję Uruchom. Jedną z zalet korzystania z portalu jest możliwość monitorowania stanu indeksatora, zanotowania czasu trwania zadania i liczby przetwarzanych dokumentów. Strony portalu są odświeżane co kilka minut.

Alternatywnie możesz użyć interfejsu REST do uruchomienia indeksatora:

POST https://[YOUR-SEARCH-SERVICE].search.windows.net/indexers/[YOUR-INDEXER-NAME]/run?api-version=2020-06-30-Preview
Content-Type: application/json
api-key: [YOUR-ADMIN-KEY]

Uwaga

Zresetowanie i ponowne uruchomienie indeksatora powoduje pełne ponowne skompilowanie, aby można było buforować zawartość. Wszystkie wzbogacania poznawcze zostaną ponownie uruchomione we wszystkich dokumentach. Ponowne przy użyciu wzbogaconej zawartości z pamięci podręcznej rozpoczyna się po załadowaniu pamięci podręcznej.

Sprawdzanie buforowanych danych wyjściowych

Znajdź pamięć podręczną w usłudze Azure Storage w obszarze Kontener obiektów blob. Nazwa kontenera to ms-az-search-indexercache-<some-alphanumeric-string>.

Pamięć podręczna jest tworzona i używana przez indeksator. Jego zawartość nie jest czytelna dla człowieka.

Aby sprawdzić, czy pamięć podręczna działa, zmodyfikuj zestaw umiejętności i uruchom indeksator, a następnie porównaj metryki przed i po dla czasu wykonywania i liczby dokumentów.

Zestawy umiejętności, które obejmują analizę obrazu i optyczne rozpoznawanie znaków (OCR) zeskanowanych dokumentów, sprawiają, że dobre przypadki testowe. Jeśli zmodyfikujesz umiejętności tekstu podrzędnego lub jakiejkolwiek umiejętności, która nie jest związana z obrazem, indeksator może pobrać wszystkie wcześniej przetworzone obrazy i zawartość OCR z pamięci podręcznej, aktualizować i przetwarzać tylko zmiany związane z tekstem wskazywane przez zmiany. W dokumencie wykonywania indeksatora można oczekiwać mniejszej liczby dokumentów, krótszych czasów wykonywania i mniejszej liczby opłat na rachunku.

Zestaw plików używany w samouczkach cog-search-demo jest przydatnym przypadkiem testowym, ponieważ zawiera 14 plików w różnych formatach JPG, PNG, HTML, DOCX, PPTX i innych typów. Zmień en język na es lub inny język w umiejętności tłumaczenia tekstu na potrzeby testowania weryfikacji koncepcji wzbogacania przyrostowego.

Typowe błędy

Następujący błąd występuje, jeśli zapomnisz określić wersję interfejsu API w wersji zapoznawczej w żądaniu:

"The request is invalid. Details: indexer : A resource without a type name was found, but no expected type was specified. To allow entries without type information, the expected type must also be specified when the model is specified."

W przypadku braku wymagania indeksatora wystąpi błąd 400 Nieprawidłowe żądanie. Komunikat o błędzie określa brakujące zależności.

Następne kroki

Wzbogacanie przyrostowe ma zastosowanie w indeksatorach zawierających zestawy umiejętności, zapewniając zawartość wielokrotnego użytku zarówno dla indeksów, jak i magazynów wiedzy. Poniższe linki zawierają więcej informacji na temat buforowania i zestawów umiejętności.