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.
Note
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.
Amikor lekérdezéseket hoz létre az Azure AI Keresésben, választhatja a Lucene Query Parser teljes szintaxisát a speciális lekérdezési űrlapokhoz: helyettesítő karakterek, homályos keresés, közelségi keresés, reguláris kifejezések. A Lucene Query Parser szintaxisának nagy része érintetlenül van implementálva az Azure AI Keresésben, kivéve a tartománykereséseket, amelyeket $filter kifejezésekkel kell megalkotni.
A teljes Lucene szintaxis használatához állítsa be a queryType értékét full -re, és adjon át egy lekérdezési kifejezést, amely wildcards, homályos keresés vagy a teljes szintaxis által támogatott egyéb lekérdezési formák mintájára készült. A REST-ben a lekérdezési kifejezéseket a searchkeresési dokumentumok (REST API) kérés paramétere adja meg.
Példa (teljes szintaxis)
Az alábbi példa egy teljes szintaxissal létrehozott keresési kérelem. Ez a konkrét példa a mezőalapú keresést és a kifejezéssúlyozást mutatja be. Olyan szállodákat keres, ahol a kategóriamező tartalmazza a kifejezést budget. A kifejezést "recently renovated" tartalmazó dokumentumok extra kiemelési súlyt kapnak, és a kifejezés kiemelési értéke (3) miatt magasabbra kerülhetnek.
POST /indexes/hotels-sample/docs/search?api-version=2026-04-01
{
"queryType": "full",
"search": "category:budget AND \"recently renovated\"^3",
"searchMode": "all"
}
Bár a paraméter nem tartozik egyetlen lekérdezéstípusra sem, a paraméter ebben a searchMode példában releváns. Amikor operátorok szerepelnek a lekérdezésben, általában úgy kell beállítania searchMode=all , hogy az összes feltétel megfeleltetve legyen.
További példákat a Lucene-lekérdezés szintaxisának példáiban talál. A lekérdezési kérelemről és a paraméterekről , beleértve a searchMode-ot is, lásd: Keresési dokumentumok (REST API).
Szintaxis alapjai
Az alábbi szintaxis alapjai a Lucene szintaxist használó összes lekérdezésre érvényesek.
Operátorok kiértékelése a kontextusban
Az elhelyezés határozza meg, hogy egy szimbólum operátorként vagy csak egy sztring egy másik karaktereként van-e értelmezve.
A Lucene teljes szintaxisában például a tilde (~) a homályos kereséshez és a közelségi kereséshez is használható. Idézett kifejezés ~ után elhelyezve közelségi keresést hív meg. Amikor egy kifejezés végére kerül, ~ a rendszer homályos keresést hív meg.
Egy kifejezésen belül, például business~analysta karakter nem lesz operátorként értékelve. Ebben az esetben, feltételezve, hogy a lekérdezés kifejezés vagy szöveg lekérdezés, a teljes szöveges keresés lexikális elemzéssel eltávolítja a kifejezést, és két részre bontja a kifejezést ~: business~analyst VAGY business.
A fenti példa a tilde (~), de ugyanez az elv minden operátorra érvényes.
Speciális karakterek elkerülése
Annak érdekében, hogy bármelyik keresési operátort a keresési szöveg részeként használja, egy fordított perjellel (\) előtaggal meneküljön el a karakter elől. Ha például egy wildcard keresést végez https://-ra, ahol :// a lekérdezési szöveg része, meg kell adnia search=https\:\/\/*. Hasonlóképpen, egy szökött telefonszám minta is így \+1 \(800\) 642\-7676néz ki.
A menekülést igénylő speciális karakterek a következők:
+ - & | ! ( ) { } [ ] ^ " ~ * ? : \ /
Note
Bár az elválasztás együtt tartja a tokeneket, az indexelés során végzett lexikális elemzés eltávolíthatja őket. A standard Lucene elemző például kötőjeleken, szóközökön és más karaktereken bontja fel a szavakat. Ha speciális karaktereket igényel a lekérdezési sztringben, szükség lehet egy elemzőre, amely megőrzi őket az indexben. Egyes lehetőségek közé tartoznak a Microsoft természetes nyelvelemzői, amelyek megőrzik a kötőjeles szavakat, vagy egy egyéni elemzőt az összetettebb mintákhoz. További információ: Részleges kifejezések, minták és speciális karakterek.
Nem biztonságos és fenntartott karakterek kódolása URL-címekben
Győződjön meg arról, hogy minden nem biztonságos és fenntartott karakter URL-címben van kódolva. A # például egy nem biztonságos karakter, mert egy URL-cím töredék/horgonyazonosítója. A karaktert az URL-címben való használat esetén kódolni %23 kell.
& és = példák a fenntartott karakterekre, mivel elválasztják a paramétereket, és értékeket adnak meg az Azure AI Keresésben. További részletekért lásd: RFC1738: Uniform Resource Locators (URL).
A nem biztonságos karakterek a következők " ` < > # % { } | \ ^ ~ [ ]: . A fenntartott karakterek a következők ; / ? : @ = + &.
Logikai operátorok
Logikai operátorokat beágyazhat egy lekérdezési sztringbe egyezés pontosságának javítása érdekében. A teljes szintaxis a karakteroperátorok mellett a szöveg operátorokat is támogatja. Mindig adjon meg szöveges logikai operátorokat (AND, OR, NOT) az összes nagybetűben.
| Szövegkezelő | Character | Example | Usage |
|---|---|---|---|
| AND | + |
wifi AND luxury |
Meghatározza azokat a kifejezéseket, amelyeket egy egyezésnek tartalmaznia kell. A példában a lekérdezési motor olyan dokumentumokat keres, amelyek tartalmazzák mind a wifi-t, mind a luxury-t. A plusz karakter (+) közvetlenül egy kifejezés előtt is használható annak kötelezővé tételéhez. Például azt írja elő, +wifi +luxury hogy mindkét kifejezésnek valahol egy dokumentum mezőjében kell megjelennie. |
| OR | (nincs) 1 | wifi OR luxury |
Egyezést talál, ha bármelyik kifejezés megtalálható. A példában a lekérdezési motor egyezéseket ad vissza a vagy mindkettőt tartalmazó wifiluxury dokumentumokon. A(z) searchMode=any esetén a VAGY az alapértelmezett összekapcsoló operátor, így a(z) wifi luxury egyenértékű ezzel: wifi OR luxury. A searchMode=all használatakor az explicit OR operátort használja ennek a viselkedésnek az eléréséhez. |
| NOT |
!, - |
wifi –luxury |
Egyezést ad vissza a kifejezést kizáró dokumentumokon. Például olyan dokumentumokat keres, amelyek tartalmazzák a(z) wifi –luxury kifejezést, de nem tartalmazzák a(z) wifi kifejezést. |
1 A | karakter nem támogatott az OR-műveletek esetében.
NEM logikai operátor
Important
A NOT operátor (NOTvagy !-) a teljes szintaxisban másképp viselkedik, mint az egyszerű szintaxisban.
- Egyszerű szintaxis esetén a negációval rendelkező lekérdezések mindig automatikusan hozzáadnak egy helyettesítő karaktert. A lekérdezés például automatikusan ki lesz bontva a következőre
-luxury-luxury *: . - A teljes szintaxisban a tagadással rendelkező lekérdezések nem kombinálhatók helyettesítő karakterekkel. A
-luxury *lekérdezés nem engedélyezett. - A teljes szintaxisban az egyetlen negációval rendelkező lekérdezések nem engedélyezettek. A lekérdezés
-luxurypéldául nem engedélyezett. - A teljes szintaxisban a negációk úgy fognak viselkedni, mintha mindig AND-ként jelennek meg a lekérdezésben a keresési módtól függetlenül.
- A teljes szintaxisú lekérdezés
wifi -luxurypéldául csak a kifejezéstwifitartalmazó dokumentumokat olvassa be, majd alkalmazza a negációt-luxuryezekre a dokumentumokra.
- A teljes szintaxisú lekérdezés
- Ha tagadások használatával szeretne keresni az index összes dokumentumában, ajánlott egyszerű szintaxis a
anykeresési móddal. - Ha tagadások használatával szeretne keresni az indexben található dokumentumok egy részhalmazán, akkor a teljes vagy az egyszerű szintaxis az összes keresési mód mellett ajánlott.
| Lekérdezés típusa | Keresési mód | Példa lekérdezés | Behavior |
|---|---|---|---|
| Simple | any | wifi -luxury |
Az indexben lévő összes dokumentumot visszaadja. A "wifi" kifejezéssel vagy a "luxus" kifejezéssel nem rendelkező dokumentumok rangsorolása magasabb, mint a többi dokumentum. A lekérdezés ki van bontva a következőre wifi OR -luxury OR *: . |
| Simple | all | wifi -luxury |
Csak olyan dokumentumokat ad vissza az indexben, amelyek tartalmazzák a "wifi" kifejezést, és nem tartalmazzák a "luxus" kifejezést. A lekérdezés ki van bontva a következőre wifi AND -luxury AND *: . |
| Full | any | wifi -luxury |
Csak a "wifi" kifejezést tartalmazó dokumentumokat adja vissza az indexben, majd a "luxus" kifejezést tartalmazó dokumentumok törlődnek az eredményekből. |
| Full | all | wifi -luxury |
Csak a "wifi" kifejezést tartalmazó dokumentumokat adja vissza az indexben, majd a "luxus" kifejezést tartalmazó dokumentumok törlődnek az eredményekből. |
Mezős keresés
A szintaxissal fieldName:searchExpression mezős keresési műveletet definiálhat, ahol a keresési kifejezés lehet egyetlen szó vagy kifejezés, vagy egy összetettebb kifejezés zárójelben, opcionálisan logikai operátorokkal. Néhány példa a következőkre:
genre:jazz NOT historyartists:("Miles Davis" "John Coltrane")
Ügyeljen arra, hogy több sztringet is idézőjelek közé helyezzen, ha azt szeretné, hogy mindkét sztringet egyetlen entitásként értékelje ki, ebben az esetben két különböző művészt keres a artists mezőben.
A megadott fieldName:searchExpression mezőnek searchable kell lennie. Az indexattribútumok meződefiníciókban való használatáról az Index létrehozása című témakörben olvashat.
Note
Mezős keresési kifejezések használatakor nem kell használnia a searchFields paramétert, mert minden mezővel rendelkező keresési kifejezéshez külön mezőnév van megadva. A paramétert azonban akkor is használhatja searchFields , ha olyan lekérdezést szeretne futtatni, amelyben bizonyos részek hatóköre egy adott mezőre terjed ki, a többi pedig több mezőre is vonatkozhat. A lekérdezés search=genre:jazz NOT history&searchFields=description például csak a jazz mezővel egyezik, míg a genre csak a NOT history mezővel egyezik. A megadott mezőnév fieldName:searchExpression mindig elsőbbséget élvez a searchFields paraméternél, ezért ebben a példában nem kell belefoglalnunk genre a searchFields paraméterbe.
Homályos keresés
A homályos keresések hasonló szerkezetű kifejezésekben talál találatokat, és legfeljebb 50 olyan kifejezést bontanak ki, amelyek megfelelnek a két vagy kevesebb távolságra vonatkozó feltételeknek. További információ: Fuzzy search.
Ha homályos keresést szeretne végezni, használja az egyetlen szó végén lévő tilde ~ szimbólumot egy választható paraméterrel, egy 0 és 2 közötti számmal (alapértelmezett), amely megadja a szerkesztési távolságot. Például, blue~ vagy blue~1 visszaadja blue, bluesés glue.
A homályos keresés csak kifejezésekre alkalmazható, idézőjelbe foglalt kifejezésekre nem, de a tilde minden kifejezéshez külön-külön hozzáfűzhető egy többrészes névben vagy kifejezésben. Például Unviersty~ of~ Wshington~ egyezne University of Washington-el.
Közelségi keresés
A közelségi keresések olyan kifejezéseket keresnek, amelyek egy dokumentumban egymás közelében találhatók. Szúrjon be egy tilde ~ szimbólumot egy kifejezés végére, amelyet a közelségi határt létrehozó szavak száma követ. Például, "hotel airport"~5 megkeresi az hotel és airport kifejezéseket, amelyek legfeljebb öt szónyira vannak egymástól egy dokumentumban.
Kifejezés fokozása
Gondoljon úgy a keresésre, mint két lépésre. Először Azure AI Keresés megkeresi az egyező dokumentumokat. Aztán rangsorolja azokat a találatokat. A kifejezésnövelés csak a második lépésre van hatással: a lekérdezés egy részével egyező dokumentumokat áthelyezhet az eredmények között.
A kifejezések súlyozása eltér a pontozási profiltól. A súlyozás előnyben részesít egy szót, kifejezést vagy csoportot az aktuális lekérdezésben. A pontozási profilok az indexben meghatározott szabályok szerint előnyben részesítik a mezőket vagy más indextartalmakat.
Hatókör növelése
Írjon egy karetjelet (^) és egy pozitív számot közvetlenül a lekérdezés azon része után, amelyet előnyben szeretne részesíteni. Például a(z) tax^2 előrébb sorolhatja azokat a dokumentumokat, amelyek tax tartalmaznak, mint azokat a dokumentumokat, amelyek csak egy nem kiemelt kifejezésnek felelnek meg. Az alapértelmezett kiemelési érték 1. Használhat egy 0 és 1 közötti értéket is, például a 0.2 értéket, hogy kisebb súlyt adjon az egyezésnek.
Az írásjelek azt jelzik, hogy az egyes utasítások mely szavakat érintik:
- Egy szó, idézett kifejezés vagy zárójeles csoport előtt megjelenik egy mezőnév és egy kettőspont, azaz egy mezőelőtag. Például a
content:arra utasítja az Azure AI Keresést, hogy acontentmezőben keressen. - Egy kiemelés, például
^2, egy szó, egy idézett kifejezés vagy egy zárójelbe tett csoport után jelenik meg. Ez megmutatja Azure AI Keresés, hogy mit kell előnyben részesíteni a találatok rangsorolása során.
Az alábbi táblázat az alapértelmezett searchMode=anyértéket használja, ahol a szavak közötti szóköz a következőképpen ORműködik.
| Query | Mi egyezhet meg? | Mit részesít előnyben a boost |
|---|---|---|
deferred tax^2 |
deferred, taxvagy mindkettő. |
Csak ez a szó: tax. |
"deferred tax"^2 |
A teljes kifejezés, a szavak egymás mellett és ebben a sorrendben. | A teljes kifejezés. |
(deferred OR tax)^2 |
deferred, taxvagy mindkettő. |
A zárójelen belül minden egyetlen csoportot alkot. |
A searchMode=alllekérdezéshez deferred tax^2 mindkét szónak egyeznie kell. A növelés továbbra is csak a tax vonatkozik. Ha ehelyett azt szeretné, hogy az egyik szóra is illeszkedjen, írja be: deferred OR tax^2.
Helyezze a kurzort a záró idézőjel vagy záró zárójel után, ha a teljes kifejezést vagy csoportot szeretné felerősíteni. A zárójelek nem hoznak létre kifejezést. Idézőjeleket akkor használjon, ha a szavaknak egymás mellett kell lenniük, és egy adott sorrendben kell lenniük.
Rásegítés és mező hatóköre
Egy kettősponttal követett mezőnév korlátozza, hogy az Azure AI Keresés hol keressen. A súlyozás megváltoztatja, hogy az Azure AI Keresés miként rangsorol egy találatot. Mindkettőt használhatja ugyanabban a lekérdezésben.
| Query | Mit jelent ez? |
|---|---|
content:deferred tax^2 |
A mező előtagja csak a(z) deferred elemre vonatkozik. A külön tax^2 rész a kijelölt searchFieldsmezőket használja, vagy ha searchFields nincs megadva az összes kereshető mező. Egy tax meccs extra rangsort kap. |
content:"deferred tax"^2 |
A teljes kifejezést csak a content elemben keresse, és adjon extra rangsorolási súlyt az adott kifejezés egyezésének. |
content:(deferred OR tax)^2 |
Keressen a két szó valamelyikére csak a(z) content elemben, és adjon extra súlyt a csoportosított találatnak a rangsorolásban. |
Ha például a(z) searchFields be van állítva erre: title, az első lekérdezés a(z) deferred elemet keresi a(z) content elemben, a(z) tax elemet pedig a(z) title elemben. A többi lekérdezésben az idézőjelek és a zárójelek mindkét szót a content elemben tartják.
Important
A kettőspont és a kalapjel ellentétes irányba mutat. A mezőelőtag content: az azt követő lekérdezési részre vonatkozik. A súlyozás ^2 az előtte álló lekérdezésrészre vonatkozik. Idézőjelek vagy zárójelek használatával az adott rész több szót is tartalmazhat. További információ: Mezős keresés és elsőbbség (csoportosítás).
Az elemző hatása a megnövelt lekérdezésekre
A hétköznapi szavak, kifejezések és szavak csoportjai esetében a kiemelés nem hagyja ki a szövegelemzést. Az egyeztetés előtt Azure AI Keresés továbbra is feldolgozza a lekérdezés szövegét az egyes mezők elemzőjével. Ennek eredményeképpen ugyanaz a felturbózott szöveg eltérően egyezhet a különböző elemzőket használó mezőkben.
Egy mezőelőtaggal rendelkező kifejezés vagy csoport az adott mező elemzőjét használja. A mezőelőtag nélküli szöveg az elemzőt használja az egyes keresendő mezőkhöz. Például egy olyan elemző, amely kisbetűssé alakítja a szöveget, egyezést tud találni a "DEFERRED TAX"^2 és a kisbetűs indexelt kifejezések között.
Más lekérdezési űrlapok, például helyettesítő karakterek, reguláris kifejezések és homályos lekérdezések különböző elemzési szabályokat használnak. A ráerősítés alkalmazása nem változtatja meg ezeket a szabályokat. További információ : 2. szakasz: Lexikális elemzés.
Reguláris kifejezéskeresés
A reguláris kifejezéskeresés az Apache Lucene alatt érvényes minták alapján talál egyezést a RegExp osztályban dokumentált módon.
Az Azure AI Keresésben a reguláris kifejezés a következő:
- Perjelek közé zárt
/ - Csak kisbetűs
Például azokat a dokumentumokat, amelyek tartalmaznak motel vagy hotel, a következő módon keresse meg: /[mh]otel/. A reguláris kifejezéskeresések egyetlen szóhoz vannak igazítva.
Egyes eszközök és nyelvek az Azure AI Keresés által előírt menekülési szabályokon túl további menekülési karakterkövetelményeket írnak elő. JSON esetén az előre perjelet tartalmazó stringek visszafelé perjellel lesznek escape-elve: microsoft.com/azure/ ez lesz search=/.*microsoft.com\/azure\/.*/, ahol search=/.* <string-placeholder>.*/ a reguláris kifejezés be van állítva, és microsoft.com\/azure\/ az a string, amely egy szökött perjellel rendelkezik.
A regex lekérdezések két gyakori szimbóluma a . és a *. Egy . bármely egyetlen karakterrel egyezik meg, míg egy * az előző karakterrel nulla vagy több alkalommal egyezik meg. Például a /be./ egyezik a bee és bet kifejezésekkel, míg a /be*/ egyezik a be, bee és beee, de nem egyezik meg a bet-tel. Együtt, .* lehetővé teszik, hogy megfeleljen bármilyen karaktersorozatnak, így /be.*/ megfelel minden olyan kifejezésre, amely be kezdődik, mint például better.
Ha szintaxis hibákat kap a reguláris kifejezésben, tekintse át a speciális karakterek escape szabályait. Kipróbálhat egy másik klienst is annak ellenőrzésére, hogy a probléma eszközspecifikus-e.
Helyettesítő karakterek keresése
Általánosan felismert szintaxist használhat több (*) vagy egy (?) karakteres helyettesítő karakter kereséséhez. A teljes Lucene szintaxis támogatja az előtag és az infix egyezését. Használjon reguláris kifejezésszintaxist az utótag-egyeztetéshez.
Vegye figyelembe, hogy a Lucene lekérdezéselemző egyetlen kifejezéssel, nem pedig kifejezéssel támogatja ezeknek a szimbólumoknak a használatát.
| Rögzítés típusa | Leírás és példák |
|---|---|
| prefix | A kifejezéstöredék elé * vagy ? elé kerül. Például egy search=alpha* lekérdezési kifejezés alphanumeric vagy alphabetical eredményt ad. Az előtag-egyeztetés egyszerű és teljes szintaxisban is támogatott. |
| suffix | A kifejezéstöredék a * vagy ? után jön, és egy perjellel van elhatárolva a szerkezet. Például a search=/.*numeric/alphanumeric értéket ad vissza. |
| infix | A kifejezéstöredékek tartalmazzák * vagy ?. Például search=non*al visszaadja non-numerical és nonsensical. |
Az operátorokat egyetlen kifejezésben kombinálhatja. Például, 980?2* egyezik 98072-1222 és 98052-1234 karaktereken, ahol ? egyezik egy adott (kötelező) karakterrel, és * egyezik tetszőleges hosszúságú karakterekkel, amelyek következnek.
Az utótag-egyeztetéshez reguláris kifejezések perjel határolóira / van szükség. Általában nem használhat egy * vagy ? szimbólumot a kifejezés első karaktereként a / nélkül. Azt is fontos megjegyezni, hogy a * regex lekérdezéseken kívül másként viselkedik. A regex perjelelválasztón / kívül az * egy helyettesítő karakter, amely a regexhez hasonlóan .* minden karaktersorozatot megfeleltet. Példaként ugyanazt az eredményhalmazt hozza létre, search=/non.*al/ mint a search=non*al.
Note
A mintaegyeztetés általában lassú, ezért érdemes lehet alternatív módszereket keresni, például az edge n-gram tokenizálást, amely karakterek sorozataihoz hoz létre tokeneket egy kifejezésben. Az n-gram tokenizálással az index nagyobb lesz, de a lekérdezések gyorsabban hajthatók végre a minta felépítésétől és az indexelt sztringek hosszától függően. További információért lásd: Részleges kifejezéskeresés és minták speciális karakterekkel.
Az elemző hatása helyettesítő karakterek lekérdezéseire
A lekérdezéselemzés során az előtagként, utótagként, helyettesítő karakterként vagy reguláris kifejezésként megfogalmazott lekérdezéseket a rendszer a lexikális elemzés megkerülésével továbbítja a lekérdezésfának. Az egyezések csak akkor jelennek meg, ha az index a lekérdezés által megadott formátumban tartalmazza a sztringeket. A legtöbb esetben olyan elemzőre van szükség az indexelés során, amely megőrzi a sztring integritását, hogy a részleges kifejezés és mintaegyezés sikeres legyen. További információ: Részleges kifejezéskeresés az Azure AI Keresés-lekérdezésekben.
Fontoljon meg egy helyzetet, amikor azt szeretné, hogy a keresési lekérdezés terminal* olyan eredményeket adjon vissza, amelyek tartalmazzák azokat a kifejezéseket, mint a terminate, termination és terminates.
Ha az en.lucene (angol Lucene) elemzőt használná, az minden kifejezés agresszív szótövezését alkalmazná. Például a terminate, termination és terminates mind az indexben a termi tokenre lesznek felbontva. A másik oldalon a helyettesítő karaktereket vagy homályos kereséseket használó lekérdezések kifejezéseit egyáltalán nem elemzi a rendszer, így nem lenne olyan eredmény, amely megfelelne a terminat* lekérdezésnek.
Másrészt a Microsoft-elemzők (ebben az esetben az en.microsoft analyzer) egy kicsit fejlettebbek, és lemmatizálást használnak a szótőkeresés helyett. Ez azt jelenti, hogy minden létrehozott tokennek érvényes angol szavakként kell szerepelniük. Például , terminateterminatesés termination többnyire teljes marad az indexben, és előnyösebb választás lenne olyan forgatókönyvekhez, amelyek sokat függenek a helyettesítő karakterektől és a homályos kereséstől.
Note
A helyettesítőkarakteres, előtag- és regex lekérdezési kifejezések az indexben található literál tokenekre illeszkednek. Mivel a legtöbb elemző kisbetűssé alakítja az indexelt tartalmat, egy nagybetűs kifejezés, például Contoso*, nem fog egyezni egy olyan tokennel, mint a contoso. Alakítsa kisbetűssé ezeket a lekérdezési kifejezéseket az alkalmazásában, a mezőhöz rendelt elemző kis- és nagybetűk kezelésének módja alapján.
Helyettesítő és regex lekérdezések pontozása
Az Azure AI Keresés gyakoriságalapú pontozást (BM25) használ a szöveges lekérdezésekhez. Azonban a helyettesítő és regex lekérdezések esetében, ahol a kifejezések hatóköre potenciálisan széles lehet, a gyakorisági tényezőt figyelmen kívül hagyják, hogy a rangsor ne torzítson a ritkább kifejezésekkel való egyezések felé. A rendszer minden találatot egyformán kezel helyettesítő és regex keresések esetén.
Speciális karakterek
Bizonyos körülmények között érdemes lehet egy speciális karaktert keresni, például egy "❤" hangulatjelet vagy egy "€" jelet. Ilyen esetekben győződjön meg arról, hogy a használt elemző nem szűri ki ezeket a karaktereket. A standard elemző kihagy sok speciális karaktert, így kizárja őket az indexéből.
A speciális karaktereket tokenizáló elemzők közé tartozik a szóközelemző, amely figyelembe veszi a szóközökkel tokenként elválasztott karakterláncokat (így a ❤ sztring tokenként minősül). Emellett egy nyelvi elemző, mint a Microsoft English Analyzer ("en.microsoft"), a "€" sztringet tokenként veszi fel. Tesztelheti az elemzőt, hogy lássa, milyen tokeneket hoz létre egy adott lekérdezéshez.
Unicode-karakterek használatakor ellenőrizze, hogy a szimbólumok megfelelően vannak-e feloldva a lekérdezés URL-címében (például ❤ a feloldósorozatot %E2%9D%A4+használná). Egyes REST-ügyfelek automatikusan elvégzik ezt a fordítást.
Elsőbbség (csoportosítás)
Zárójelek használatával szabályozhatja, hogy a lekérdezés mely részeit értékelje ki együtt a rendszer. Például a motel AND (wifi OR luxury) megköveteli a motel elemet, valamint a zárójelekben szereplő kifejezések közül legalább az egyiket: wifi vagy luxury.
Helyezzen egy mezőelőtagot egy zárójeles csoport elé az adott teljes csoport kereséséhez egy mezőben. Például hotelAmenities:(wifi OR pool) keres wifi vagy pool csak a hotelAmenities mezőben.
A zárójelek szabályozzák, hogyan működik együtt a(z) AND és a(z) OR. Nem követelik meg, hogy a szavak egymás mellett vagy egy adott sorrendben jelenjenek meg. Használjon idézőjeleket ehhez a viselkedéshez. Egy csoport erősítéséhez helyezze a kurzort a záró zárójel után, mint a hotelAmenities:(wifi OR pool)^2 esetében. További információkért lásd a Hatókör növelése című témakört.
Lekérdezésméretkorlátok
Az Azure AI Keresés korlátozza a lekérdezések méretét és összetételét, mert a kötetlen lekérdezések destabilizálhatják a keresési szolgáltatást. A lekérdezések méretére és összetételére (a záradékok száma) korlátozások vonatkoznak. Az előtagkeresés hosszára, valamint a regex keresés és a helyettesítő karakterek keresésének összetettségére vonatkozó korlátozások is léteznek. Ha az alkalmazás programozott módon hoz létre keresési lekérdezéseket, javasoljuk, hogy úgy tervezzen meg, hogy ne hozzon létre kötetlen méretű lekérdezéseket.
További információ a lekérdezési korlátokról: API-kérések korlátai.