Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
Ha több nyelven is rendelkezik sztringekkel, a vektoros kereséssel matematikailag ábrázolhatja a többnyelvű tartalmakat, ami a modernebb megközelítés. Ha nem vektorokat használ, csatolhat olyan nyelvelemzőket , amelyek egy adott nyelv nyelvi szabályaival elemzik a sztringeket az indexelés és a lekérdezés végrehajtása során. A nyelvelemzővel jobban kezelhetők a diakritikák, a karaktervariánsok, az írásjelek és a szógyök alakok.
Az Azure AI Keresés támogatja a Microsoft és a Lucene elemzőit. Alapértelmezés szerint a keresőmotor a Standard Lucene-t használja, amely nyelvi agnosztikus. Ha a tesztelés azt jelzi, hogy az alapértelmezett elemző nem megfelelő, cserélje le egy nyelvelemzőre.
Az Azure AI Keresésben a több nyelv támogatásának két mintája a következő:
Olyan nyelvspecifikus indexeket hozhat létre, amelyekben az összes olvasható tartalom ugyanabban a nyelven található, és az összes kereshető sztringmező ugyanazt a nyelvelemzőt használja.
Hozzon létre egy kevert indexet az egyes mezők nyelvspecifikus verzióival (például description_en, description_fr, description_ko), majd korlátozza a teljes szöveges keresést csak ezekre a mezőkre lekérdezéskor. Ez a megközelítés olyan helyzetekben hasznos, ahol a nyelvi változatokra csak néhány mezőben van szükség, például egy leírásra.
Ez a cikk a nyelvspecifikus mezők vegyes indexben való konfigurálásának és lekérdezésének lépéseit és ajánlott eljárásait ismerteti:
- Adjon meg egy sztringmezőt az egyes nyelvi változatokhoz.
- Állítson be egy nyelvelemzőt az egyes mezőkre.
- A lekérdezési kérelemben állítsa a
searchFieldsparamétert adott mezőkre, majd csak azokat a mezőket adjaselectvissza, amelyek kompatibilis tartalommal rendelkeznek.
Megjegyzés
Ha nagy nyelvi modelleket használ lekérdezés-központú, kiterjesztett generátor mintában (RAG), megtervezheti a kérdést, hogy lefordított karakterláncokat adjon vissza. Ez a forgatókönyv a cikk hatókörén kívül esik.
Előfeltételek
A nyelvelemzés olyan típusú Edm.String mezőkre vonatkozik, amelyek searchablehonosított szöveget tartalmaznak. Ha szövegfordításra is szüksége van, tekintse át a következő szakaszt, és ellenőrizze, hogy az AI-bővítés megfelel-e az igényeinek.
A nem sztringmezők és a keresésre nem alkalmas sztringmezők nem esnek át lexikai elemzésen, és nincsenek tokenizálva. Ehelyett a rendszer tárolja őket, és szó szerint visszaadja őket.
Szövegfordítás hozzáadása
Ez a cikk feltételezi, hogy a lefordított karakterláncok már léteznek. Ha ez nem így van, csatolhatja az Foundry Tools eszközt egy bővítési folyamathoz, és szövegfordítást invoktálhat az indexelés során. A szövegfordítás függ az indexelő szolgáltatástól és a Foundry Toolstól, de a beállítás az Azure AI Keresésben történik.
Szövegfordítás hozzáadásához kövesse az alábbi lépéseket:
Hozzon létre egy olyan adatforrást , amely a tartalomra mutat.
Hozzon létre egy olyan készségkészletet , amely tartalmazza a szövegfordítási készséget.
A szövegfordítási képesség egyetlen sztringet vesz fel bemenetként. Ha több mezővel rendelkezik, létrehozhat egy készségkészletet, amely többször is meghívja a szövegfordítást, mindegyik mezőhöz egyszer. Másik lehetőségként használhatja a Szövegegyesítés képességet több mező tartalmának egyetlen hosszú sztringbe való összevonására.
Hozzon létre egy indexet, amely a lefordított sztringek mezőit tartalmazza. A cikk nagy része a többnyelvű tartalmak indexelésével és lekérdezésével kapcsolatos indextervezést és meződefiníciókat ismerteti.
Csatoljon egy Microsoft Foundry-erőforrást a készségkészlethez.
Hozza létre és futtassa az indexelőt, majd az ebben a cikkben szereplő útmutatást alkalmazva csak az érdeklődési köröket kérdezheti le.
Különböző nyelvű tartalmak mezőinek definiálása
Az Azure AI Keresésben a lekérdezések egyetlen indexet céloznak meg. Azok a fejlesztők, akik nyelvspecifikus sztringeket szeretnének megadni egyetlen keresési felületen, általában nyelvenként egy dedikált mezőt határoznak meg az értékek tárolásához, például egy angol és egy francia sztringmezőt.
A analyzer meződefiníció tulajdonsága a nyelvelemző beállítására szolgál. Az indexeléshez és a lekérdezések végrehajtásához is használható.
{
"name": "hotels-sample",
"fields": [
{
"name": "Description",
"type": "Edm.String",
"retrievable": true,
"searchable": true,
"analyzer": "en.microsoft"
},
{
"name": "Description_fr",
"type": "Edm.String",
"retrievable": true,
"searchable": true,
"analyzer": "fr.microsoft"
}
]
}
Index létrehozása és betöltése
Egy köztes lépés az index létrehozása és feltöltése lekérdezés létrehozása előtt. Ezt a lépést itt említjük a teljesség érdekében. Az indexek elérhetőségének meghatározásához az indexek listáját a portálon kell ellenőrizni.
A lekérdezés szűkítése és az eredmények szűkítése
A lekérdezés paramétereivel meghatározott mezőkre korlátozhatja a keresést, majd levághatja a forgatókönyvnek nem megfelelő mezők eredményeit.
| Paraméterek | Cél |
|---|---|
searchFields |
A teljes szöveges keresés korlátozása az elnevezett mezők listájára. |
select |
A választ korlátozza, hogy csak a megadott mezőket tartalmazza. Alapértelmezés szerint az összes beolvasható mező vissza lesz adva. A select paraméter segítségével kiválaszthatja, hogy melyeket adja vissza. |
Adott a cél, hogy a keresést a francia sztringeket tartalmazó mezőkre korlátozzuk; ehhez searchFields-t használ, hogy a lekérdezést az adott nyelven sztringeket tartalmazó mezőkre irányítsa.
Nem szükséges megadni az elemzőt egy lekérdezési kérelemben. A meződefiníció nyelvelemzője határozza meg a szövegelemzést a lekérdezés végrehajtása során. Több mezőt megjelölő lekérdezések esetén, ahol különböző nyelvelemzők vannak használatban, a kifejezések feldolgozását az egyes mezőkhöz rendelt elemzők egyszerre végzik.
Alapértelmezés szerint a keresés az összes beolvashatóként megjelölt mezőt visszaadja. Ezért érdemes lehet kizárni azokat a mezőket, amelyek nem felelnek meg a megadni kívánt nyelvspecifikus keresési felületnek. Pontosabban, ha egy francia sztringet tartalmazó mezőre korlátozta a keresést, valószínűleg ki szeretné zárni az angol sztringeket tartalmazó mezőket az eredményekből. A lekérdezési select paraméter használatával szabályozhatja, hogy mely mezők legyenek visszaadva a hívó alkalmazásnak.
Példa a REST-ben
POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-04-01
{
"search": "animaux acceptés",
"searchFields": "Tags, Description_fr",
"select": "HotelName, Description_fr, Address/City, Address/StateProvince, Tags",
"count": true
}
Példa a C#-ban
private static void RunQueries(SearchClient srchclient)
{
SearchOptions options;
SearchResults<Hotel> response;
options = new SearchOptions()
{
IncludeTotalCount = true,
Filter = "",
OrderBy = { "" }
};
options.Select.Add("HotelId");
options.Select.Add("HotelName");
options.Select.Add("Description_fr");
options.SearchFields.Add("Tags");
options.SearchFields.Add("Description_fr");
response = srchclient.Search<Hotel>("*", options);
WriteDocuments(response);
}
Nyelvspecifikus mezők kiemelése
Előfordulhat, hogy a lekérdezést kibocsátó ügynök nyelve nem ismert, ebben az esetben a lekérdezés egyszerre minden mezőre kibocsátható. Az eredmények IA-preferenciája egy adott nyelven pontozási profilokkal határozható meg. Az alábbi példában a leírásban szereplő francia nyelvű találatok a más nyelvekben lévő egyezéshez képest magasabb pontszámot kapnak:
"scoringProfiles": [
{
"name": "frenchFirst",
"text": {
"weights": { "description_fr": 2 }
}
}
]
Ezután a pontozási profilt beépíti a keresési kérelembe:
POST /indexes/hotels/docs/search?api-version=2026-04-01
{
"search": "pets allowed",
"searchFields": "Tags, Description_fr",
"select": "HotelName, Tags, Description_fr",
"scoringProfile": "frenchFirst",
"count": true
}