Dela via


Självstudie: Fråga ett Azure AI Search-index från Power Apps

Använd den snabba programutvecklingsmiljön i Power Apps för att skapa en anpassad app för ditt sökbara innehåll i Azure AI Search.

I den här självstudien lär du dig att:

  • Ansluta till Azure AI Search
  • Konfigurera en frågebegäran
  • Visualisera resultat i en arbetsyteapp

Om du inte har en Azure-prenumeration öppnar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

1 – Skapa en anpassad anslutningsapp

En anslutningsapp i Power Apps är en datakällaanslutning. I det här steget skapar du en anpassad anslutningsapp för att ansluta till ett sökindex i molnet.

  1. Logga in på Power Apps.

  2. Till vänster väljer du Anpassade anslutningsappar.

    Menyn Anpassad anslutningsapp

  3. Välj + Ny anpassad anslutningsapp och välj sedan Skapa från tom.

    Skapa från tom meny

  4. Ge din anpassade anslutningsapp ett namn (till exempel AzureSearchQuery) och välj sedan Fortsätt.

  5. Ange information på sidan Allmänt:

    • Bakgrundsfärg för ikon (till exempel #007ee5)
    • Beskrivning (till exempel "En anslutning till Azure AI Search")
    • I värden anger du url:en för söktjänsten (till exempel <yourservicename>.search.windows.net)
    • För Bas-URL anger du "/"

    Allmän informationsdialog

  6. På säkerhetssidan anger du API-nyckel som autentiseringstyp och anger både parameteretiketten och parameternamnet till api-key. För Parameterplats väljer du Rubrik enligt följande skärmbild.

    Alternativ för autentiseringstyp

  7. På sidan Definitioner väljer du + Ny åtgärd för att skapa en åtgärd som frågar indexet. Ange värdet "Fråga" för sammanfattningen och namnet på åtgärds-ID:t. Ange en beskrivning som "Frågar sökindexet".

    Nya åtgärdsalternativ

  8. Rulla nedåt. I Begäranden väljer du + Importera från exempelknappen för att konfigurera en frågebegäran till söktjänsten:

    • Välj verbet GET

    • För URL:en anger du en exempelfråga för sökindexet (search=* returnerar alla dokument, $select= låter dig välja fält). API-versionen krävs. En URL kan se ut så här: mydemo.search.windows.net/indexes/hotels-sample-index/docs?search=*&$select=HotelName,Description,Address/City&api-version=2024-07-01. https:// Utelämna prefixet.

    • För Rubriker skriver du Content-Type application/json.

      Power Apps använder syntaxen i URL:en för att extrahera parametrar från frågan: sök-, select- och api-versionsparametrar blir konfigurerbara när du går igenom guiden.

      Importera från exempel

  9. Välj Importera för att fylla i begäran automatiskt. Slutför inställningen av parametermetadata genom att klicka på symbolen ... bredvid var och en av parametrarna. Välj Tillbaka för att återgå till sidan Begäran efter varje parameteruppdatering.

    Importera från exempeldialog

  10. För sökning: Ange * som standardvärde, ange obligatoriskt som Falskt och ange synlighet till ingen.

    Metadata för sökparametrar

  11. För välj: Ange HotelName,Description,Address/City som standardvärde, ange obligatoriskt till Falskt och ange synlighet till ingen.

    Välj parametermetadata

  12. För api-version: Ange 2024-07-01 som standardvärde, ange sant som obligatorisktoch ange synlighet som internt.

    Metadata för versionsparametrar

  13. För Innehållstyp: Ange till application/json.

  14. När du har gjort dessa ändringar kan du växla till vyn Swagger-redigerare . I avsnittet parametrar bör du se följande konfiguration:

    parameters:
      - {name: search, in: query, required: false, type: string, default: '*'}
      - {name: $select, in: query, required: false, type: string, default: 'HotelName,Description,Address/City'}
      - {name: api-version, in: query, required: true, type: string, default: '2024-07-01',
        x-ms-visibility: internal}
      - {name: Content-Type, in: header, required: false, type: string}
    
  15. Växla tillbaka till guiden och återgå till 3. Definitionssteg . Rulla ned till avsnittet Svar. Välj "Lägg till standardsvar". Det här steget är kritiskt eftersom det hjälper Power Apps att förstå schemat för svaret.

  16. Klistra in ett exempelsvar. Ett enkelt sätt att samla in ett exempelsvar är via Sökutforskaren i Azure Portal. I Sökutforskaren bör du ange samma fråga som du gjorde för begäran, men lägg till $top=2 för att begränsa resultatet till bara två dokument: search=*&$select=HotelName,Description,Address/City&$top=2.

    Power Apps behöver bara några få resultat för att identifiera schemat. Du kan kopiera följande svar till guiden nu, förutsatt att du använder hotels-sample-index.

    {
        "@odata.context": "https://mydemo.search.windows.net/indexes('hotels-sample-index')/$metadata#docs(*)",
        "value": [
            {
                "@search.score": 1,
                "HotelName": "Happy Lake Resort & Restaurant",
                "Description": "The largest year-round resort in the area offering more of everything for your vacation – at the best value!  What can you enjoy while at the resort, aside from the mile-long sandy beaches of the lake? Check out our activities sure to excite both young and young-at-heart guests. We have it all, including being named “Property of the Year” and a “Top Ten Resort” by top publications.",
                "Address": {
                    "City": "Seattle"
                }
            },
            {
                "@search.score": 1,
                "HotelName": "Grand Gaming Resort",
                "Description": "The Best Gaming Resort in the area.  With elegant rooms & suites, pool, cabanas, spa, brewery & world-class gaming.  This is the best place to play, stay & dine.",
                "Address": {
                    "City": "Albuquerque"
                }
            }
        ]
    }
    

    Dricks

    Det finns en teckengräns för det JSON-svar som du kan ange, så du kanske vill förenkla JSON innan du klistrar in det. Schemat och formatet för svaret är viktigare än själva värdena. Till exempel kan fältet Beskrivning förenklas till bara den första meningen.

  17. Välj Importera för att lägga till standardsvaret.

  18. Välj Skapa anslutningsapp längst upp till höger för att spara definitionen.

  19. Välj Stäng för att stänga anslutningsappen.

2 – Testa anslutningen

När anslutningsappen först skapas måste du öppna den igen från listan Anpassade anslutningsappar för att kunna testa den. Om du senare gör fler uppdateringar kan du testa inifrån guiden.

Ange en fråge-API-nyckel för den här uppgiften. Varje gång en anslutning skapas, oavsett om det gäller en testkörning eller inkludering i en app, behöver anslutningsappen den fråge-API-nyckel som används för att ansluta till Azure AI Search.

  1. Längst till vänster väljer du Anpassade anslutningsappar.

  2. Hitta din anslutningsapp i listan (i den här självstudien är "AzureSearchQuery").

  3. Välj anslutningsappen, expandera åtgärdslistan och välj Visa egenskaper.

    Visa egenskaper

  4. Välj 6 i listrutan med åtgärder. Testa.

  5. I Teståtgärd väljer du + Ny anslutning.

  6. Ange en fråge-API-nyckel. Det här är en Azure AI Search-fråga för skrivskyddad åtkomst till ett index. Du hittar nyckeln i Azure Portal.

  7. I Åtgärder väljer du knappen Testa åtgärd . Om du lyckas bör du se en status på 200 och i brödtexten i svaret bör du se JSON som beskriver sökresultaten.

    JSON-svar

Om testet misslyckas kan du kontrollera indata igen. Gå särskilt tillbaka till exempelsvaret och kontrollera att det har skapats korrekt. Anslutningsdefinitionen bör visa de förväntade objekten för svaret.

3 – Visualisera resultat

I det här steget skapar du en Power App med en sökruta, en sökknapp och ett visningsområde för resultaten. Power App ansluter till den nyligen skapade anpassade anslutningsappen för att hämta data från Azure Search.

  1. Till vänster expanderar du Appar>Ny app>Starta med en siddesign.

  2. Välj en Tom arbetsyta med telefonlayouten. Ge appen ett namn, till exempel "Hotel Finder". Välj Skapa. Power Apps Studio visas.

  3. I studion väljer du fliken Data , väljer Lägg till data och letar sedan reda på den nya anslutningsappen som du just har skapat. I den här självstudien kallas den AzureSearchQuery. Välj Lägg till en anslutning.

    Ange fråge-API-nyckeln.

    anslut anslutningsprogram

    Nu är AzureSearchQuery en datakälla som är tillgänglig för användning från ditt program.

  4. På fliken Infoga lägger du till några kontroller på arbetsytan.

    Infoga kontroller

  5. Infoga följande element:

    • En textetikett med värdet "Query:"
    • Ett textinmatningselement (kalla det txtQuery, standardvärde: "*")
    • En knapp med texten "Sök"
    • Ett lodrätt galleri med namnet (kalla det galleryResults)

    Arbetsytan bör se ut ungefär så här:

    Layout för kontroller

  6. Om du vill göra sökknappen till en fråga klistrar du in följande åtgärd i OnSelect:

    If(!IsBlank(txtQuery.Text),
        ClearCollect(azResult, AzureSearchQuery.Query({search: txtQuery.Text}).value))
    

    Följande skärmbild visar formelfältet för åtgärden OnSelect .

    Knapp påVälj

    Den här åtgärden gör att knappen uppdaterar en ny samling med namnet azResult med resultatet av sökfrågan med texten i textrutan txtQuery som frågeterm.

    Kommentar

    Prova detta om du får formelsyntaxfelet "Funktionen ClearCollect har några ogiltiga funktioner":

    • Kontrollera först att anslutningsreferensen är korrekt. Rensa anslutningsappens namn och börja skriva namnet på anslutningsappen. Intellisense bör föreslå rätt anslutningsapp och verb.

    • Om felet kvarstår tar du bort och återskapar anslutningsappen. Om det finns flera instanser av en anslutningsapp kan appen använda fel.

  7. Länka kontrollen Lodrätt galleri till azResult-samlingen som skapades när du slutförde föregående steg.

    Välj gallerikontrollen och utför följande åtgärder i egenskapsfönstret.

    • Ange DataSource till azResult.
    • Välj en layout som fungerar för dig baserat på typen av data i ditt index. I det här fallet använde vi layouten Rubrik, underrubrik och brödtext .
    • Redigera fält och välj de fält som du vill visualisera.

    Eftersom vi angav ett exempelresultat när vi definierade anslutningsappen är appen medveten om de fält som är tillgängliga i ditt index.

    Gallerifält

  8. Tryck på F5 för att förhandsgranska appen.

    Slutlig app

Rensa resurser

När du arbetar i din egen prenumeration kan det dock vara klokt att i slutet av ett projekt kontrollera om du fortfarande behöver de resurser som du skapade. Resurser som fortsätter att köras kostar pengar. Du kan ta bort enstaka resurser eller hela resursgruppen om du vill ta bort alla resurser.

Du kan hitta och hantera resurser i Azure Portal med hjälp av länken Alla resurser eller Resursgrupper i det vänstra navigeringsfönstret.

Kom ihåg att en kostnadsfri söktjänst är begränsad till tre index, indexerare och datakällor. Du kan ta bort enskilda objekt i Azure Portal för att hålla dig under gränsen.

Nästa steg

Power Apps möjliggör snabb programutveckling av anpassade appar. Nu när du vet hur du ansluter till ett sökindex kan du lära dig mer om att skapa en omfattande visualiseringsupplevelse i en anpassad Power App.