Importowanie danych w usłudze Azure AI Search

W usłudze Azure AI Search zapytania wykonują zawartość należącą do użytkownika, która jest ładowana do indeksu wyszukiwania. W tym artykule opisano dwa podstawowe przepływy pracy służące do wypełniania indeksu: wypychanie danych do indeksu programowo lub ściąganie danych przy użyciu indeksatora wyszukiwania.

Obie metody ładują dokumenty z zewnętrznego źródła danych. Chociaż można utworzyć pusty indeks, nie można wykonywać zapytań do momentu dodania zawartości.

Uwaga

Jeśli wzbogacanie sztucznej inteligencji jest wymaganiem dotyczącym rozwiązania, należy użyć modelu ściągania (indeksatorów), aby załadować indeks. Zestawy umiejętności są dołączane do indeksatora i nie są uruchamiane niezależnie.

Wypychanie danych do indeksu

Model wypychania to metoda, która używa interfejsów API do przekazywania dokumentów do istniejącego indeksu wyszukiwania. Dokumenty można przekazywać pojedynczo lub w partiach do 1000 na partię lub 16 MB na partię, w zależności od tego, co nastąpi wcześniej.

Najważniejsze korzyści to:

  • Brak ograniczeń dotyczących typu źródła danych. Ładunek musi składać się z dokumentów JSON mapowanych na schemat indeksu, ale dane mogą być pozyskiwane z dowolnego miejsca.

  • Brak ograniczeń dotyczących częstotliwości wykonywania. Możesz wypychać zmiany do indeksu tak często, jak tylko chcesz. W przypadku aplikacji z wymaganiami dotyczącymi małych opóźnień (na przykład gdy indeks musi być zsynchronizowany z wahaniami zapasów produktów), model wypychania jest jedyną opcją.

  • Połączenie ivity i bezpieczne pobieranie dokumentów są w pełni pod kontrolą. Natomiast połączenia indeksatora są uwierzytelniane przy użyciu funkcji zabezpieczeń dostępnych w usłudze Azure AI Search.

Jak wypychać dane do indeksu usługi Azure AI Search

Użyj następujących interfejsów API, aby załadować jeden lub wiele dokumentów do indeksu:

Brak obsługi wypychania danych za pośrednictwem witryny Azure Portal.

Aby zapoznać się z wprowadzeniem do interfejsów API wypychania, zobacz:

Akcje indeksowania: przekazywanie, scalanie, mergeOrUpload, usuwanie

Można kontrolować typ akcji indeksowania dla poszczególnych dokumentów, określając, czy dokument ma zostać przekazany w całości, scalony z istniejącą zawartością dokumentu, czy usunięty.

Niezależnie od tego, czy używasz interfejsu API REST, czy zestawu Azure SDK, następujące operacje dokumentów są obsługiwane w przypadku importowania danych:

  • Przekaż plik podobny do "upsert", w którym dokument jest wstawiony, jeśli jest nowy, i zaktualizowany lub zastąpiony, jeśli istnieje. Jeśli w dokumencie brakuje wartości, których indeks wymaga, wartość pola dokumentu jest ustawiona na wartość null.

  • scalaj aktualizuje dokument, który już istnieje, i kończy się niepowodzeniem dokumentu, którego nie można odnaleźć. Scalanie zastępuje istniejące wartości. Z tego powodu należy sprawdzić pola kolekcji zawierające wiele wartości, takie jak pola typu Collection(Edm.String). Jeśli na przykład tags pole rozpoczyna się od wartości ["budget"] i wykonujesz scalanie z wartością ["economy", "pool"], końcową wartością tags pola jest ["economy", "pool"]. Nie będzie ["budget", "economy", "pool"]to .

  • mergeOrUpload zachowuje się jak scalanie , jeśli dokument istnieje, i przekaż , jeśli dokument jest nowy.

  • Usunięcie powoduje usunięcie całego dokumentu z indeksu. Jeśli chcesz usunąć pojedyncze pole, użyj scalania , ustawiając pole, którego dotyczy wartość null.

Ściąganie danych do indeksu

Model ściągania używa indeksatorów łączących się z obsługiwanym źródłem danych, automatycznie przekazując dane do indeksu. Indeksatory firmy Microsoft są dostępne dla następujących platform:

Możesz używać łączników innych firm, opracowywanych i obsługiwanych przez partnerów firmy Microsoft. Aby uzyskać więcej informacji i linków, zobacz Galeria źródeł danych.

Indeksatory łączą indeks ze źródłem danych (zwykle tabelą, widokiem lub równoważną strukturą) i mapują pola źródłowe na równoważne pola w indeksie. W czasie wykonywania zestaw wierszy jest automatycznie przekształcany w dane w formacie JSON i ładowany do określonego indeksu. Wszystkie indeksatory obsługują harmonogramy, dzięki czemu można określić częstotliwość odświeżania danych. Większość indeksatorów udostępnia śledzenie zmian, jeśli źródło danych obsługuje tę funkcję. Dzięki śledzeniu zmian i usuwania istniejących dokumentów oraz rozpoznawaniu nowych dokumentów indeksatory eliminują konieczność aktywnego zarządzania danymi w indeksie.

Jak ściągać dane do indeksu usługi Azure AI Search

Użyj następujących narzędzi i interfejsów API do indeksowania opartego na indeksatorze:

Funkcje indeksatora są widoczne w witrynie [Azure Portal], interfejsie API REST i zestawie SDK platformy .NET.

Zaletą korzystania z portalu jest to, że usługa Azure AI Search zwykle może wygenerować domyślny schemat indeksu, odczytując metadane źródłowego zestawu danych.

Weryfikowanie importowania danych za pomocą Eksploratora wyszukiwania

Szybkim sposobem przeprowadzenia wstępnego sprawdzenia przekazywania dokumentu jest użycie Eksploratora wyszukiwania w portalu.

Screenshot of Search Explorer command in the Azure portal.

Eksplorator umożliwia wykonywanie zapytań względem indeksu bez konieczności pisania kodu. Środowisko wyszukiwania jest oparte na ustawieniach domyślnych, takich jak prosta składnia i domyślny parametr zapytania searchMode. Wyniki są zwracane w formacie JSON, co umożliwia inspekcję całego dokumentu.

Oto przykładowe zapytanie, które można uruchomić w Eksploratorze wyszukiwania w widoku JSON. "HotelId" jest kluczem dokumentu hotels-sample-index. Filtr zawiera identyfikator dokumentu określonego dokumentu:

{
  "search": "*",
  "filter": "HotelId eq '50'"
}

Jeśli używasz architektury REST, to zapytanie odnośnika osiąga ten sam cel.

Zobacz też