Een index doorzoeken

Voltooid

Nadat u een index hebt gemaakt en ingevuld, kunt u er een query op uitvoeren om te zoeken naar informatie in de geïndexeerde documentinhoud. Hoewel u indexvermeldingen kunt ophalen op basis van eenvoudige overeenkomende veldwaarden, gebruiken de meeste zoekoplossingen semantiek voor zoeken in volledige tekst om een query uit te voeren op een index.

Zoeken in volledige tekst beschrijft zoekoplossingen die op tekst gebaseerde documentinhoud parseren om querytermen te vinden. Zoekquery's voor volledige tekst in Azure AI Search zijn gebaseerd op de Lucene-querysyntaxis , die een uitgebreide set querybewerkingen biedt voor het zoeken, filteren en sorteren van gegevens in indexen. Azure AI Search ondersteunt twee varianten van de Lucene-syntaxis:

  • Eenvoudig : een intuïtieve syntaxis waarmee u eenvoudig eenvoudige zoekopdrachten kunt uitvoeren die overeenkomen met letterlijke querytermen die door een gebruiker zijn ingediend.
  • Volledig : een uitgebreide syntaxis die ondersteuning biedt voor complexe filters, reguliere expressies en andere geavanceerdere query's.

Clienttoepassingen verzenden query's naar Azure AI Search door samen met andere parameters een zoekexpressie op te geven die bepalen hoe de expressie wordt geëvalueerd en de geretourneerde resultaten. Enkele veelvoorkomende parameters die worden verzonden met een query zijn onder andere:

  • zoeken : een zoekexpressie die de te vinden termen bevat.
  • queryType : de Lucene-syntaxis die moet worden geëvalueerd (eenvoudig of volledig).
  • searchFields : de indexvelden die moeten worden doorzocht.
  • selecteer : de velden die moeten worden opgenomen in de resultaten.
  • searchMode - Criteria voor het opnemen van resultaten op basis van meerdere zoektermen. Stel dat u zoekt naar een comfortabel hotel. Een searchMode-waarde van Any retourneert documenten die 'comfortabel', 'hotel' of beide bevatten, terwijl een searchMode-waarde van All de resultaten beperkt tot documenten die zowel 'comfortabel' als 'hotel' bevatten.

Queryverwerking bestaat uit vier fasen:

  1. Queryparsering. De zoekexpressie wordt geëvalueerd en gereconstrueerd als een structuur van de juiste subquery's. Subquery's kunnen termenquery's bevatten (zoeken naar specifieke afzonderlijke woorden in de zoekexpressie , bijvoorbeeld hotel), woordgroepquery's (zoeken naar woordgroepen die zijn opgegeven in aanhalingstekens in de zoekexpressie, bijvoorbeeld 'gratis parkeren') en voorvoegselquery's (zoeken naar termen met een opgegeven voorvoegsel, bijvoorbeeld luchtweg, airconditioning en luchthaven).
  2. Lexicale analyse : de querytermen worden geanalyseerd en verfijnd op basis van taalkundige regels. Tekst wordt bijvoorbeeld geconverteerd naar kleine letters en niet-essentiële stopwoorden (zoals 'de', 'a', 'is', enzovoort) worden verwijderd. Vervolgens worden woorden geconverteerd naar hun hoofdvorm (bijvoorbeeld 'comfortabel' kan worden vereenvoudigd tot 'comfort') en samengestelde woorden worden gesplitst in hun samenstellende termen.
  3. Document ophalen : de querytermen worden vergeleken met de geïndexeerde termen en de set overeenkomende documenten wordt geïdentificeerd.
  4. Scoren : een relevantiescore wordt toegewezen aan elk resultaat op basis van een termfrequentie/inverse documentfrequentieberekening (TF/IDF).

Notitie

Zie Querytypen en samenstelling in Azure AI Search in de Documentatie van Azure AI Search voor meer informatie over het uitvoeren van query's op een index en details over eenvoudige en volledige syntaxis.