Lekérdezés az Azure AI Searchben

Az Azure AI Search számos forgatókönyv lekérdezési szerkezetét támogatja, a szabad formátumú szöveges kereséstől a magas szintű lekérdezési mintákon át a vektorkeresésig. Az összes lekérdezés egy kereshető tartalmat tároló keresési indexen fut.

A lekérdezések típusai

Lekérdezési űrlap Kereshető tartalom Leírás
teljes szöveges keresés Tokenizált kifejezések invertált indexei. A teljes szöveges lekérdezések iterálnak a gyors vizsgálatra strukturált invertált indexek fölé, ahol bármilyen mezőben, tetszőleges számú keresési dokumentumon belül megtalálható egyezés. A teljes szöveges kereséshez a szöveg elemzése és tokenizálása történik.
Vektoros keresés Generált beágyazások vektorindexei. A vektoros lekérdezések iterálnak a keresési index vektormezői felett.
Hibrid keresés A fentiek mindegyike egyetlen keresési indexben található. Egyetlen lekérdezési kérelemben egyesíti a szöveges keresést és a vektorkeresést. A szöveges keresés egyszerű szöveges tartalmakon működik a "kereshető" és a "szűrhető" mezőkben. A vektorkeresés a vektormezők tartalmán működik.
Others Egyszerű szöveg és alfanumerikus tartalom. Nyers tartalom, kinyert szó szerinti kifejezés a forrásdokumentumokból, támogató szűrők és mintamegfeleltetési lekérdezések, például térbeli keresés, homályos keresés és mezőalapú keresés.

Ez a cikk az utolsó kategóriára helyezi a hangsúlyt: a szűrőkhöz és más speciális lekérdezési űrlapokhoz használt, eredeti forrásból sértetlenül kinyert egyszerű szövegen és alfanumerikus tartalomon működő lekérdezések.

Automatikus kiegészítés és javasolt lekérdezések

Az automatikus kiegészítés vagy a javasolt találatok alternatívái search az egymást követő lekérdezési kérelmeknek, amelyek részleges sztringbemeneteken alapulnak (minden karakter után) a keresés mint ön típusú felületen. Használhatja autocomplete és suggestions paraméterezheti őket együtt vagy külön, az útmutatóban leírtak szerint, de nem használhatja őket.search A befejezett kifejezések és a javasolt lekérdezések is az index tartalmából származnak. A motor soha nem ad vissza olyan sztringet vagy javaslatot, amely nem szerepel az indexben. További információ: Automatikus kiegészítés (REST API) és javaslatok (REST API).

A szűrőket széles körben használják az Azure AI Search-alapú alkalmazásokban. Az alkalmazásoldalakon a szűrők gyakran aspektusként jelennek meg a felhasználó által irányított szűrésre szolgáló hivatkozás-navigációs struktúrákban. A szűrők belsőleg is használhatók az indexelt tartalom szeleteinek elérhetővé ására. Előfordulhat például, hogy egy keresőoldalt egy termékkategóriára vonatkozó szűrővel inicializál, vagy egy nyelvet, ha egy index angol és francia nyelven is tartalmaz mezőket.

A speciális lekérdezési űrlapok meghívásához szűrőkre is szükség lehet az alábbi táblázatban leírtak szerint. Szűrőt meghatározatlan kereséssel (search=*) vagy kifejezéseket, kifejezéseket, operátorokat és mintákat tartalmazó lekérdezési sztringgel is használhat.

Szűrési forgatókönyv Leírás
Tartományszűrők Az Azure AI Searchben a tartomány lekérdezései a szűrőparaméter használatával jönnek létre. További információkért és példákért lásd a Tartományszűrő példát.
Jellemzőalapú navigáció A faceted navigációs fában a felhasználók kiválaszthatják az aspektusokat. Ha szűrőkkel van alátámasztva, a keresési eredmények minden egyes kattintásra szűkülnek. Minden aspektust egy szűrő biztosít, amely kizárja azokat a dokumentumokat, amelyek már nem felelnek meg a szempont által megadott feltételeknek.

Megjegyzés:

A szűrőkifejezésekben használt szöveg nem lesz elemezve a lekérdezés feldolgozása során. A szövegbevitel vélelmezhetően olyan szó szerinti kis- és nagybetűkre érzékeny karakterminta, amely sikeres vagy sikertelen az egyezésen. A szűrőkifejezések OData-szintaxissal jönnek létre, és az filter index összes szűrhető mezőjében egy paraméterben vannak átadva. További információ: Szűrők az Azure AI Searchben.

A térinformatikai keresés megfelel egy hely földrajzi szélességi és hosszúsági koordinátáinak a "közelben keresés" vagy a térképalapú keresési felület esetében. Az Azure AI Searchben az alábbi lépések végrehajtásával valósíthatja meg a térinformatikai keresést:

A térinformatikai keresés kilométereket használ a távolsághoz. A koordináták a következő formátumban vannak megadva: (longitude, latitude).

Íme egy példa a térinformatikai keresés szűrőire. Ez a szűrő megkeresi a keresési index azon egyéb Location mezőit, amelyek koordinátái a földrajzi pont 300 kilométeres sugarán belül találhatók (ebben a példában Washington d.C.). Címadatokat ad vissza az eredményben, és tartalmaz egy opcionális facets záradékot az önnavigációhoz a hely alapján.

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2023-07-01-Preview
{
    "count": true,
    "search": "*",
    "filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
    "facets": [ "Address/StateProvince"],
    "select": "HotelId, HotelName, Address/StreetAddress, Address/City, Address/StateProvince",
    "top": 7
}

További információkért és példákért lásd a térinformatikai keresési példát.

Dokumentumkeresés

A korábban ismertetett lekérdezési űrlapokkal ellentétben ez egyetlen keresési dokumentumot kér le azonosító alapján, és nincs megfelelő indexkeresés vagy -vizsgálat. A rendszer csak az egyetlen dokumentumot kéri le és adja vissza. Amikor egy felhasználó kiválaszt egy elemet a keresési eredmények között, a dokumentum beolvasása és egy részletes lap mezőkkel való feltöltése tipikus válasz, és a dokumentumkeresés az azt támogató művelet.

Speciális keresés: fuzzy, helyettesítő karakter, közelség, regex

A speciális lekérdezési űrlapok a Teljes Lucene-elemzőtől és az adott lekérdezési viselkedést aktiváló operátoroktól függnek.

Lekérdezés típusa Usage Példák és további információk
Mezős keresés search Paraméter queryType=full Egyetlen mezőt megcélzó összetett lekérdezési kifejezés létrehozása.
Mezős keresési példa
homályos keresés search Paraméter queryType=full Hasonló szerkezetű vagy helyesírású kifejezésekre vonatkozó egyezések.
Fuzzy search example
közelségi keresés search Paraméter queryType=full Megkeresi a dokumentumban egymáshoz közeli kifejezéseket.
Közelségi keresési példa
kifejezés kiemelése search Paraméter queryType=full Magasabbra rangsorol egy dokumentumot, ha a kiemelt kifejezést tartalmazza, a másokhoz képest, akik nem.
Kifejezésnövelő példa
reguláris kifejezéskeresés search Paraméter queryType=full Egyezések egy reguláris kifejezés tartalma alapján.
Példa reguláris kifejezésre
helyettesítő karakterek vagy előtagok keresése search paraméter *~ vagy ?, queryType=full Előtag és tilde (~) vagy egy karakter (?) alapján egyezik.
Példa helyettesítő karakterekre

Következő lépések

A lekérdezések implementálásának részletesebb áttekintéséhez tekintse át az egyes szintaxisokra vonatkozó példákat. Ha még csak most ismerkedik a teljes szöveges kereséssel, érdemes közelebbről megvizsgálni, hogy mit tesz a lekérdezési motor.