Megosztás a következőn keresztül:


Telemetriai adatok gyűjtése a keresési forgalomelemzéshez

A keresési forgalomelemzés az Azure AI Search-alkalmazással folytatott felhasználói interakciók telemetriai adatainak gyűjtésére szolgáló minta, például a felhasználó által kezdeményezett kattintási események és billentyűzetbemenetek. Ezen információk segítségével meghatározhatja a keresési megoldás hatékonyságát, beleértve a népszerű keresési kifejezéseket, az átkattintási arányt, valamint azt, hogy mely lekérdezési bemenetek eredményeznek nulla eredményt.

Ez a minta függ az Application Insightstól (az Azure Monitor szolgáltatásától) a felhasználói adatok gyűjtéséhez. Ehhez az ügyfélkódhoz a jelen cikkben ismertetett módon szükséges a rendszerállapot hozzáadása. Végül egy jelentéskészítési mechanizmusra van szükség az adatok elemzéséhez. A Power BI-t javasoljuk, de bármilyen olyan vizualizációs eszközt használhat, amely csatlakozik az Application Insightshoz.

Feljegyzés

A cikkben ismertetett minta speciális forgatókönyvekhez és az ügyfélhez hozzáadott kód által létrehozott clickstream-adatokhoz készült. Ezzel szemben a szolgáltatásnaplók egyszerűen beállíthatók, metrikatartományt biztosítanak, és kód nélkül is elvégezhetők a portálon. A naplózás engedélyezése minden esetben ajánlott. További információ: Naplóadatok gyűjtése és elemzése.

Releváns keresési adatok azonosítása

Ha hasznos metrikákat szeretne használni a keresési forgalom elemzéséhez, naplóznia kell néhány jelet a keresőalkalmazás felhasználóitól. Ezek a jelek olyan tartalmakat jeleznek, amelyek iránt a felhasználók érdeklődnek, és amelyeket relevánsnak tartanak. A keresési forgalomelemzéshez a következők tartoznak:

  • Felhasználó által létrehozott keresési események: Csak a felhasználó által kezdeményezett keresési lekérdezések érdekesek. Más keresési kérések, például az aspektusok feltöltésére vagy belső információk lekérésére használt kérések nem fontosak. Ügyeljen arra, hogy csak a felhasználó által kezdeményezett eseményeket eszközelje, hogy elkerülje a torzításokat vagy torzításokat az eredményekben.

  • Felhasználó által létrehozott kattintási események: A keresési eredmények lapján a kattintási események általában azt jelentik, hogy a dokumentum egy adott keresési lekérdezés releváns eredménye.

A keresési és kattintási események korrelációs azonosítóval való összekapcsolásával részletesebben megismerheti, hogy az alkalmazás keresési funkciói milyen jól teljesítenek.

Keresési forgalomelemzés hozzáadása

Az Azure AI-Search szolgáltatás portáloldalán nyissa meg a Search Traffic Analytics lapot, hogy hozzáférjen egy csalóhoz a telemetriaminta követéséhez. Ezen a lapon kiválaszthat vagy létrehozhat egy Application Insights-erőforrást, lekérheti a rendszerállapot-kulcsot, átmásolhatja a megoldáshoz adaptálható kódrészleteket, és letölthet egy Power BI-jelentést, amely a mintában tükröződő sémára épül.

Képernyőkép az Application Insights beállítására szolgáló portálparancsról és lapról.

1. lépés: Az Application Insights beállítása

Válasszon ki egy meglévő Application Insights-erőforrást, vagy hozzon létre egyet , ha még nem rendelkezik ilyen erőforrásokkal.

A Visual Studio egyes projekttípusaihoz használható billentyűparancsok az alábbi lépésekben jelennek meg.

Az ábrához ezek a lépések a Keresés hozzáadása statikus webalkalmazáshoz című témakörben szereplő ügyfelet használják.

  1. Nyissa meg a megoldást a Visual Studióban.

  2. A Project menüben válassza a Csatlakoztatott szolgáltatások>hozzáadása> Azure-alkalmazás Elemzések lehetőséget.

  3. A Függőséghez való csatlakozás területen válassza a Azure-alkalmazás Elemzések, majd a Tovább lehetőséget.

  4. Válassza ki az Azure-előfizetést, az Application Insights-erőforrást, majd válassza a Befejezés lehetőséget.

Ezen a ponton az alkalmazás alkalmazásfigyelésre van beállítva, ami azt jelenti, hogy az ügyfélalkalmazás összes oldalbetöltését az alapértelmezett metrikák követik.

Ha ez a parancsikon nem működött Önnek, olvassa el az Application Insights kiszolgálóoldali telemetriájának engedélyezése című témakört.

2. lépés: Rendszerezés hozzáadása

Eszközkód hozzáadása az ügyfélalkalmazáshoz. Az Azure Portal Search Traffic Analytics oldala kódrészleteket biztosít, amelyeket beilleszthet az alkalmazás kódjába.

Telemetriai ügyfél létrehozása

Hozzon létre egy objektumot, amely eseményeket küld az Application Insightsnak. A kiszolgálóoldali alkalmazáskódhoz vagy a böngészőben futó ügyféloldali kódhoz a rendszerállapot is hozzáadható, itt C# és JavaScript-variánsként kifejezve. Más nyelvek esetén lásd a támogatott platformokat és keretrendszereket.

A kiszolgálóoldali telemetriai adatok az alkalmazásrétegben rögzítik a metrikákat, például az Azure-ban webszolgáltatásként futó alkalmazásokban vagy egy vállalati hálózaton lévő helyszíni alkalmazásként. A kiszolgálóoldali telemetriai adatok rögzítik a keresési és kattintási eseményeket, a dokumentumok találati pozícióját és a lekérdezési információkat, de az adatgyűjtés hatóköre az adott rétegben elérhető bármilyen információra kiterjed.

Az ügyfélen más kód is lehet, amely módosítja a lekérdezési bemeneteket, navigációt ad hozzá, vagy kontextust is tartalmaz (például a kezdőlapról kezdeményezett lekérdezések egy termékoldallal szemben). Ha ez leírja a megoldást, az ügyféloldali rendszerezést választhatja, hogy a telemetria tükrözze a további részleteket. A további részletek gyűjtésének módja túlmutat a minta hatókörén, de a döntéssel kapcsolatos segítségért áttekintheti az Application Insights webhelyeket .

A rendszerállapot-kulcsot az Azure Portalról szerezheti be az Application Insights lapjain vagy az Azure AI Search forgalomelemzési lapján.

// Application Insights SDK: https://www.nuget.org/packages/Microsoft.ApplicationInsights.Web 

var telemetryClient = new TelemetryClient();
telemetryClient.InstrumentationKey = "0000000000000000000000000000";

Keresésazonosító kérése korrelációhoz

Fontos

Az Azure Portalon a kérelemfejlécek kódrészletei az Azure SDK elavult verziójával készülnek. A frissítések függőben vannak.

Ha a keresési kérelmeket kattintásokkal szeretné korrelálni, rendelkeznie kell egy korrelációs azonosítóval, amely ezt a két különböző eseményt kapcsolja össze. Az Azure AI Search egy keresőazonosítót biztosít, amikor HTTP-fejlécet kér.

A keresési azonosítóval az Azure AI Search által a kéréshez kibocsátott metrikák és az Application Insightsban naplózott egyéni metrikák korrelációját teszi lehetővé.

var client = new SearchClient(<SEARCH SERVICE NAME>, <INDEX NAME>, new AzureDefaultCredentials())
var headers = new Dictionary<string, List<string>>() { { "x-ms-azs-return-searchid", new List<string>() { "true" } } };
var response = await client.Documents.SearchWithHttpMessagesAsync(searchText: searchText, searchParameters: parameters, customHeaders: headers);
IEnumerable<string> headerValues;
string searchId = string.Empty;
if (response.Response.Headers.TryGetValues("x-ms-azs-searchid", out headerValues)){
	 searchId = headerValues.FirstOrDefault();
} 

Naplókeresési események

Minden alkalommal, amikor egy felhasználó keresési kérelmet ad ki, az alábbi sémával rendelkező keresési eseményként kell naplóznia egy Egyéni Application Insights-eseményen. Ne felejtsen csak a felhasználó által létrehozott keresési lekérdezéseket naplózni.

  • SearchServiceName: (sztring) keresési szolgáltatás neve
  • SearchId: a keresési lekérdezés egyedi azonosítója (a keresési válaszban található)
  • IndexName: (sztring) keresési szolgáltatás lekérdezendő indexe
  • QueryTerms: a felhasználó által megadott keresési kifejezések (sztring)
  • ResultCount: (int) a visszaadott dokumentumok száma (a keresési válaszban jelenik meg)
  • ScoringProfile: a használt pontozási profil (sztring) neve, ha van ilyen

Feljegyzés

Kérje le a felhasználó által létrehozott lekérdezések számát úgy, hogy $count=true értéket ad hozzá a keresési lekérdezéshez. További információt a Dokumentumok keresése (REST) című témakörben talál.

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"IndexName", <INDEX NAME>},
	{"QueryTerms", <SEARCH TERMS>},
	{"ResultCount", <RESULTS COUNT>},
	{"ScoringProfile", <SCORING PROFILE USED>}
};

telemetryClient.TrackEvent("Search", properties);

Naplókattintásos események

Minden alkalommal, amikor egy felhasználó rákattint egy dokumentumra, ez egy jelzés, amelyet keresési elemzés céljából naplózni kell. Az Application Insights egyéni eseményeivel az alábbi sémával naplózhatja ezeket az eseményeket:

  • ServiceName: (sztring) keresési szolgáltatás neve
  • SearchId: a kapcsolódó keresési lekérdezés egyedi azonosítója (guid)
  • DocId: (sztring) dokumentumazonosító
  • Pozíció: A dokumentum (int) rangja a keresési eredmények oldalán

Feljegyzés

A pozíció az alkalmazás számosságos sorrendjére utal. Az összehasonlítás engedélyezéséhez szabadon beállíthatja ezt a számot, amíg az mindig ugyanaz.

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"ClickedDocId", <CLICKED DOCUMENT ID>},
	{"Rank", <CLICKED DOCUMENT POSITION>}
};

telemetryClient.TrackEvent("Click", properties);

3. lépés: Elemzés a Power BI-ban

Miután előkészítette az alkalmazást, és meggyőződött arról, hogy az alkalmazás megfelelően csatlakozik az Application Insightshoz, letölt egy előre definiált jelentéssablont, amely adatokat elemez a Power BI desktopban. A jelentés előre definiált diagramokat és táblákat tartalmaz, amelyek hasznosak a keresési forgalomelemzéshez rögzített extra adatok elemzéséhez.

  1. A keresési szolgáltatás lapjain az Azure Portal Beállítások területén válassza a Forgalomelemzés keresése lehetőséget.

  2. A Power BI telepítéséhez válassza a Power BI Desktop lekérése lehetőséget.

  3. Válassza a Power BI-jelentés letöltése lehetőséget a jelentés lekéréséhez.

  4. A jelentés megnyílik a Power BI Desktopban, és a rendszer kérni fogja, hogy csatlakozzon az Application Insightshoz, és adja meg a hitelesítő adatait. Az Application Insights-erőforrás kapcsolati adatait az Azure Portal oldalain találja. Hitelesítő adatok esetén adja meg ugyanazt a felhasználónevet és jelszót, amelyet a portál bejelentkezéséhez használ.

    Képernyőkép arról, hogyan csatlakozhat az Application Insightshoz a Power BI-ból.

  5. Válassza a Betöltés lehetőséget.

A jelentés diagramokat és táblázatokat tartalmaz, amelyek segítenek megalapozottabb döntéseket hozni a keresési teljesítmény és a relevancia javítása érdekében.

A metrikák a következő elemeket tartalmazzák:

  • Keresési kötet és legnépszerűbb kifejezés-dokumentum párok: olyan kifejezések, amelyek ugyanazt a dokumentumot eredményezik, rákattintva rendezve.
  • Keresés kattintás nélkül: a kattintások nélküli regisztrációt regisztráló leggyakoribb lekérdezések kifejezései

Az alábbi képernyőkép azokat az adatelemeket mutatja be, amelyeket a jelentés tartalmazhat.

Képernyőkép az adatkatalógusban elérhető sémaelemekről.

Következő lépések

A keresőalkalmazást úgy alakíthatja ki, hogy hatékony és hasznos adatokat kapjon a keresési szolgáltatásról.

Az Application Insights szolgáltatással kapcsolatos további információkért látogasson el a díjszabási oldalra, ahol további információt talál a különböző szolgáltatási szintekről.

További információ a jelentések létrehozásáról. További részletekért tekintse meg a Power BI Desktop használatának első lépéseit.