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. Interfejsy API REST w wersji zapoznawczej obsługują 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
Usługa Azure Storage do przechowywania buforowanych wzbogaceń. Konto magazynu musi być kontem ogólnego przeznaczenia w wersji 2.
Tylko w przypadku indeksowania obiektów blob, jeśli potrzebujesz zsynchronizowanego usunięcia dokumentu z pamięci podręcznej i indeksu, gdy obiekty blob zostaną usunięte ze źródła danych, włącz zasady usuwania w indeksatorze. Bez tych zasad usuwanie dokumentów z pamięci podręcznej nie jest obsługiwane.
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.
Po lewej stronie wybierz pozycję Indeksatory, a następnie wybierz pozycję Dodaj indeksator.
Podaj nazwę indeksatora i istniejący indeks, źródło danych i zestaw umiejętności.
Włącz buforowanie przyrostowe i ustaw konto usługi Azure Storage.
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=2024-05-01-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ść nafalse
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 dotrue
późniejszego.
POST https://[service name].search.windows.net/indexers?api-version=2024-05-01-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=2024-05-01-preview
Content-Type: application/json
api-key: [YOUR-ADMIN-KEY]
Krok 4. Zapisywanie indeksatora
Zaktualizuj indeksator za pomocą żądania PUT, w którym treść żądania zawiera "pamięć podręczną".
PUT https://[YOUR-SEARCH-SERVICE].search.windows.net/indexers/[YOUR-INDEXER-NAME]?api-version=2024-05-01-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=2024-05-01-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.