Sök i ett index

Slutförd

När du har skapat och fyllt i ett index kan du fråga det för att söka efter information i det indexerade dokumentinnehållet. Du kan hämta indexposter baserat på enkel fältvärdesmatchning, men de flesta söklösningar använder fulltextsökningssemantik för att köra frågor mot ett index.

Fulltextsökning beskriver söklösningar som parsar textbaserat dokumentinnehåll för att hitta frågetermer. Fulltextsökningsfrågor i Azure AI Search baseras på Lucene-frågesyntaxen , som innehåller en omfattande uppsättning frågeåtgärder för sökning, filtrering och sortering av data i index. Azure AI Search stöder två varianter av Lucene-syntaxen:

  • Enkelt – en intuitiv syntax som gör det enkelt att utföra grundläggande sökningar som matchar literala frågevillkor som skickas av en användare.
  • Full – en utökad syntax som stöder komplex filtrering, reguljära uttryck och andra mer avancerade frågor.

Klientprogram skickar frågor till Azure AI Search genom att ange ett sökuttryck tillsammans med andra parametrar som avgör hur uttrycket utvärderas och resultatet returneras. Några vanliga parametrar som skickas med en fråga är:

  • search – ett sökuttryck som innehåller de termer som ska hittas.
  • queryType – Lucene-syntaxen som ska utvärderas (enkel eller fullständig).
  • searchFields – indexfälten som ska sökas igenom.
  • select – De fält som ska ingå i resultatet.
  • searchMode – Kriterier för att inkludera resultat baserat på flera söktermer. Anta till exempel att du söker efter bekvämt hotell. Ett searchMode-värde för Alla returnerar dokument som innehåller "bekvämt", "hotell" eller båda; medan värdet searchMode för Alla begränsar resultatet till dokument som innehåller både "bekvämt" och "hotell".

Frågebearbetning består av fyra steg:

  1. Frågeparsning. Sökuttrycket utvärderas och rekonstrueras som ett träd med lämpliga underfrågor. Underfrågor kan innehålla termfrågor (hitta specifika enskilda ord i sökuttrycket – till exempel hotell), frasfrågor (hitta flertermsfraser som anges inom citattecken i sökuttrycket – till exempel "gratis parkering") och prefixfrågor (hitta termer med ett angivet prefix – till exempel luft*, som skulle matcha luftvägar, luftkonditionering och flygplats).
  2. Lexikal analys – Frågetermerna analyseras och förfinas baserat på språkregler. Text konverteras till exempel till gemener och nonessential-stoppord (till exempel "the", "a", "is" och så vidare) tas bort. Sedan konverteras ord till deras rotform (till exempel "bekväm" kan förenklas till "komfort") och sammansatta ord delas upp i deras konstituerande termer.
  3. Dokumenthämtning – Frågetermerna matchas mot de indexerade termerna och uppsättningen matchande dokument identifieras.
  4. Bedömning – En relevanspoäng tilldelas varje resultat baserat på en beräkning av termfrekvens/inverterad dokumentfrekvens (TF/IDF).

Kommentar

Mer information om hur du frågar efter ett index och information om enkel och fullständig syntax finns i Frågetyper och sammansättning i Azure AI Search i dokumentationen för Azure AI Search.