Wykonywanie zapytań w usłudze Wyszukiwanie AI platformy Azure

Uwaga

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.

Usługa Wyszukiwanie AI platformy Azure obsługuje konstrukcje zapytań dla szerokiego zakresu scenariuszy— od wyszukiwania tekstu w dowolnej formie po wysoce określone wzorce zapytań po wyszukiwanie wektorowe. Wszystkie zapytania są wykonywane za pośrednictwem indeksu wyszukiwania, który przechowuje zawartość z możliwością wyszukiwania.

Typy zapytań

Formularz zapytania Zawartość z możliwością wyszukiwania opis
Wyszukiwanie pełnotekstowe Odwrócone indeksy terminów tokenizowanych. Zapytania pełnotekstowe przeszukują odwrócone indeksy, które mają strukturę umożliwiającą szybkie przeszukiwanie, przy czym dopasowanie można znaleźć praktycznie w dowolnym polu i w dowolnej liczbie przeszukiwanych dokumentów. Tekst jest analizowany i tokenizowany na potrzeby wyszukiwania pełnotekstowego.
Wyszukiwanie wektorowe Indeksy wektorowe wygenerowanych osadzeń. Zapytania wektorowe iterują w polach wektorowych indeksu wyszukiwania.
Wyszukiwanie hybrydowe Wszystkie powyższe informacje w jednym indeksie wyszukiwania. Łączy wyszukiwanie tekstu i wyszukiwanie wektorów w jednym żądaniu zapytania. Wyszukiwanie tekstu działa na zawartości zwykłego tekstu w polach z możliwością wyszukiwania. Filtry mają zastosowanie do pól możliwych do filtrowania. Wyszukiwanie wektorowe działa na polach wektorów.
Agentowe pobieranie danych Wszystkie powyższe informacje w jednym indeksie wyszukiwania. Jest to alternatywna ścieżka pobierania w Wyszukiwanie AI platformy Azure, która opcjonalnie używa dużych modeli językowych do planowania zapytań (wersja zapoznawcza). Odpowiedź jest przeznaczona do użytku przez agenta, gdzie to agent, a nie kod klienta aplikacji wyszukiwania koordynuje proces dostarczony do użytkownika.
Inne Zwykły tekst i zawartość czytelna dla człowieka. Nieprzetworzona zawartość, wyodrębniona z dokumentów źródłowych, obsługująca filtry i zapytania pasujące do wzorca, takie jak wyszukiwanie geograficzne, wyszukiwanie rozmyte i wyszukiwanie pól.

W pozostałej części tego artykułu skupiono się na ostatniej kategorii: klasyczne zapytania, które działają na zwykły tekst i zawartość czytelną dla człowieka, wyodrębnione nienaruszone z oryginalnego źródła, używane do filtrowania i innych wyspecjalizowanych formularzy zapytań. Jeśli tworzysz tradycyjną aplikację wyszukiwania, która nie korzysta ze sztucznej inteligencji, w tej sekcji opisano metody zapytań, które można zaimplementować w kodzie klienta.

Autouzupełnianie i sugerowane zapytania

Autouzupełnianie lub sugerowane wyniki to alternatywy dla search, które wyzwalają kolejne żądania zapytań na podstawie częściowych ciągów znaków (po każdym znaku) w środowisku wyszukiwania podczas pisania. Można używać parametrów autocomplete oraz suggestions razem lub oddzielnie, zgodnie z opisem w tym przewodniku, ale nie można ich używać z parametrem search. Zarówno ukończone frazy, jak i sugerowane zapytania pochodzą z zawartości indeksu. Silnik nigdy nie zwraca ciągu znaków lub sugestii, która nie istnieje w indeksie. Aby uzyskać więcej informacji, zobacz Autouzupełnianie (interfejs API REST) i Sugestie (interfejs API REST).

Filtry są powszechnie używane w aplikacjach opartych na usłudze Wyszukiwanie AI platformy Azure. Na stronach aplikacji filtry są często wizualizowane jako aspekty w strukturach nawigacji linków na potrzeby filtrowania kierowanego przez użytkownika. Filtry są również używane wewnętrznie do uwidaczniania fragmentów indeksowanej zawartości. Na przykład można zainicjować stronę wyszukiwania przy użyciu filtru w kategorii produktów lub języka, jeśli indeks zawiera pola w języku angielskim i francuskim.

Możesz potrzebować również filtrów, aby wywołać wyspecjalizowany formularz zapytania, zgodnie z opisem w poniższej tabeli. Możesz użyć filtru z nieokreślonym wyszukiwaniem (search=*) lub ciągiem zapytania zawierającym terminy, frazy, operatory i wzorce.

Scenariusz filtrowania opis
Filtry zakresu W Wyszukiwanie AI platformy Azure zapytania zakresu są tworzone przy użyciu parametru filter . Aby uzyskać więcej informacji i przykładów, zobacz Przykład filtru zakresu.
Nawigacja fasetowa W drzewie nawigacji fasetowej użytkownicy mogą wybierać fasety. Gdy są stosowane filtry, wyniki wyszukiwania zawężają się po każdym kliknięciu. Każdy aspekt jest wspierany przez filtr, który wyklucza dokumenty, które nie są już zgodne z kryteriami dostarczonymi przez aspekt.

Uwaga

Tekst używany w wyrażeniu filtru nie jest analizowany podczas przetwarzania zapytań. Przyjmuje się, że wprowadzanie tekstu jest wzorcem znaków z dosłownym uwzględnieniem wielkości liter, który kończy się powodzeniem lub niepowodzeniem w dopasowaniu. Wyrażenia filtru są tworzone przy użyciu składni OData i przekazywane w parametrze filter we wszystkich polach możliwych do filtrowania w indeksie. Aby uzyskać więcej informacji, zobacz Filtry w usłudze Wyszukiwanie AI platformy Azure.

Wyszukiwanie geoprzestrzenne jest zgodne ze współrzędnymi szerokości i długości geograficznej lokalizacji dla środowiska wyszukiwania opartego na mapie lub "znajdź w pobliżu mnie". W usłudze Wyszukiwanie AI platformy Azure można zaimplementować wyszukiwanie geoprzestrzenne, wykonując następujące kroki:

  1. Zdefiniuj pole filtrowalne typu Edm.GeographyPoint lub Collection(Edm.GeographyPoint).
  2. Sprawdź, czy dokumenty przychodzące zawierają odpowiednie współrzędne.
  3. Po zakończeniu indeksowania utwórz zapytanie, które używa filtru i funkcji geoprzestrzeni.

Wyszukiwanie geoprzestrzenne używa kilometrów na odległość. Współrzędne są określone w tym formacie: (longitude, latitude).

Oto przykład filtru wyszukiwania geoprzestrzennego. Ten filtr znajduje inne Location pola w indeksie wyszukiwania, które mają współrzędne w promieniu 300 kilometrów od punktu geograficznego (w tym przykładzie Waszyngton D.C.). Zwraca informacje o adresie w wyniku i zawiera opcjonalną facets klauzulę na potrzeby samodzielnej nawigacji na podstawie lokalizacji.

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2026-04-01
{
    "count": true,
    "search": "*",
    "filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
    "facets": [ "Address/StateProvince"],
    "select": "HotelId, HotelName, Address/StreetAddress, Address/City, Address/StateProvince",
    "top": 7
}

Aby uzyskać więcej informacji i przykładów, zobacz Przykład wyszukiwania geoprzestrzenowego.

Wyszukiwanie dokumentu

W przeciwieństwie do wcześniej opisanych formularzy zapytań ten pobiera pojedynczy dokument wyszukiwania według identyfikatora, bez odpowiedniego wyszukiwania indeksu ani skanowania. Tylko jeden dokument jest żądany i zwracany. Gdy użytkownik wybierze element w wynikach wyszukiwania, pobranie dokumentu i wypełnienie strony szczegółów polami jest typową odpowiedzią, a wyszukiwanie dokumentu jest operacją, która ją obsługuje.

Wyszukiwanie zaawansowane: rozmyte, wieloznaczne, zbliżeniowe, regex

Zaawansowany formularz zapytania zależy od analizatora Full Lucene i operatorów, które wyzwalają określone zachowanie zapytania.

Typ zapytania Użycie Przykłady i więcej informacji
Wyszukiwanie polowe search parametr queryType=full Utwórz złożone wyrażenie zapytania przeznaczone dla pojedynczego pola.
Przykład wyszukiwania w polu
Wyszukiwanie rozmyte search parametr queryType=full Dopasuj terminy o podobnej budowie lub pisowni.
Przykład wyszukiwania rozmytego
Wyszukiwanie w pobliżu search parametr queryType=full Znajdź terminy, które znajdują się blisko siebie w dokumencie.
Przykład wyszukiwania zbliżeniowego
Zwiększanie terminów search parametr queryType=full Nadaj dokumentowi wyższą pozycję w rankingu, jeśli zawiera termin o podwyższonej wadze, względem innych dokumentów, które go nie zawierają.
Przykład wzmacniania znaczenia terminu
Wyszukiwanie wyrażeń regularnych search parametr queryType=full Dopasuj na podstawie treści wyrażenia regularnego.
Przykład wyrażenia regularnego
Wyszukiwanie symboli wieloznacznych lub prefiksów search parametr z * lub ?, queryType=full Dopasuj na podstawie prefiksu, wielu znaków (*) lub jednego znaku (?).
Przykład wyszukiwania z symbolami wieloznacznymi

Następne kroki

Aby przyjrzeć się bliżej implementacji zapytań, zapoznaj się z przykładami dla każdej składni. Jeśli dopiero zaczynasz wyszukiwanie pełnotekstowe, możesz również dowiedzieć się więcej o tym, co robi aparat zapytań.