Przeszukiwanie indeksu
Po utworzeniu i wypełnieniu indeksu możesz wykonać zapytanie w celu wyszukania informacji w indeksowanej zawartości dokumentu. Chociaż można pobrać wpisy indeksu na podstawie prostego dopasowania wartości pola, większość rozwiązań wyszukiwania używa semantyki wyszukiwania pełnotekstowego do wykonywania zapytań dotyczących indeksu.
Wyszukiwanie pełnotekstowe
Wyszukiwanie pełnotekstowe opisuje rozwiązania wyszukiwania, które analizują zawartość dokumentu na podstawie tekstu w celu znalezienia terminów zapytania. Zapytania wyszukiwania pełnotekstowego w usłudze Azure AI Search są oparte na składni zapytań Lucene , która udostępnia bogaty zestaw operacji zapytań na potrzeby wyszukiwania, filtrowania i sortowania danych w indeksach. Usługa Azure AI Search obsługuje dwa warianty składni Lucene:
- Prosty — intuicyjna składnia, która ułatwia wykonywanie podstawowych wyszukiwań odpowiadających terminom zapytania literału przesłanym przez użytkownika.
- Full — rozszerzona składnia, która obsługuje złożone filtrowanie, wyrażenia regularne i inne bardziej zaawansowane zapytania.
Aplikacje klienckie przesyłają zapytania do usługi Azure AI Search, określając wyrażenie wyszukiwania wraz z innymi parametrami określającymi sposób oceniania wyrażenia i zwracanych wyników. Oto niektóre typowe parametry przesłane za pomocą zapytania:
- search — wyrażenie wyszukiwania zawierające terminy do znalezienia.
- queryType — składnia Lucene do oceny (prosta lub pełna).
- searchFields — pola indeksu do wyszukania.
- select — pola, które mają zostać uwzględnione w wynikach.
- searchMode — kryteria dołączania wyników na podstawie wielu terminów wyszukiwania. Załóżmy na przykład, że szukasz wygodnego hotelu. Wartość searchMode any zwraca dokumenty, które zawierają "wygodne", "hotel" lub oba; podczas gdy wartość searchMode all ogranicza wyniki do dokumentów, które zawierają zarówno "wygodne" i "hotel".
Przetwarzanie zapytań składa się z czterech etapów:
- Analizowanie zapytań. Wyrażenie wyszukiwania jest oceniane i rekonstruowane jako drzewo odpowiednich podzapytania. Podzapytania mogą obejmować zapytania terminów (znajdowanie określonych pojedynczych wyrazów w wyrażeniu wyszukiwania — na przykład hotel), zapytania fraz (znajdowanie fraz wieloterminowych określonych w cudzysłowie w wyrażeniu wyszukiwania — na przykład "bezpłatny parking" ) i zapytania prefiksu (znajdowanie terminów z określonym prefiksem — na przykład air*, które pasują do dróg oddechowych, klimatyzacji i lotniska).
- Analiza leksykalna — terminy zapytania są analizowane i uściśline na podstawie reguł językowych. Na przykład tekst jest konwertowany na małe litery i nieokreślone stopwords (takie jak "the", "a", "is" itd.) są usuwane. Następnie wyrazy są konwertowane na ich formę główną (na przykład "wygodne" mogą zostać uproszczone do "komfortu"), a złożone wyrazy są podzielone na ich terminy składowe.
- Pobieranie dokumentu — terminy zapytania są dopasowywane do indeksowanych terminów, a zestaw pasujących dokumentów jest identyfikowany.
- Ocenianie — ocena istotności jest przypisywana do każdego wyniku na podstawie obliczania częstotliwości/odwrotnej częstotliwości dokumentu (TF/IDF).
Uwaga
Aby uzyskać więcej informacji na temat wykonywania zapytań dotyczących indeksu oraz szczegółowych informacji na temat prostej i pełnej składni, zobacz Typy zapytań i kompozycja w usłudze Azure AI Search w dokumentacji usługi Azure AI Search.