Syntax Referencia gyors lekérdező nyelv (FqL)

Expression markerek - egy szót, kifejezést, vagy számszerű értékek, amelyeket összehasonlítva az index.

Szöveg a marker expressziója lehet egyetlen szó vagy kifejezés, idézőjelek.







Egy numerikus kifejezést egy marker lehet egy egyetlen értéket vagy értéktartományt.

Kifejezések helyettesítő karakterek

Expression helyettesítő karakterek jelentése egy szó vagy kifejezés, amely egy csillag ( „*”); A csillag jelzi véletlen akárhány karaktert, kivéve a teret. FqL támogatja prefix keresést adott szöveget a kezelt ingatlanok és teljes szöveges indexek.

Expression Példák helyettesítő karakterek

Az alábbi lista az érvényes módon használja kifejezéseket a helyettesítő karakterek FqL:

Kifejezések Számszerűen

Mindegyik expressziós egy numerikus kifejezést kell tartalmaznia a tulajdonságait egy kompatibilis típusú index rendszer specifikáció. 2. táblázat felsorolja a numerikus adattípusok használhatók FqL.

2. táblázat Numerikus adattípusok használhatók FqL

FAST-lekérdező nyelv szereplők (FqL) - ezek a kulcsszavak, amelyek meghatározzák a logikai műveletek vagy más korlátozások az operandusok. FqL nyilatkozat szintaxis a következő:

[Tulajdonság-spec:] operátor (operandus [, operandus] * [, paraméter = "érték"] *)

Ebben szintaxis:

ingatlan-spec - választható tulajdonságok, majd az operátor.

üzemeltető - a kulcsszó a művelet elvégezhető.

operandus - egy kifejezés egy adott szó vagy egy másik szolgáltató.

paraméter - a neve az értéket, amely megváltoztatja a viselkedését az üzemeltető.

érték - az érték a paraméter nevét.

Regisztráció üzemeltetők nevét nevek és szöveges értékeket a paraméterek figyelmen kívül hagyható. Hiányosságok a szervezetben az üzemeltető engedélyezettek, de figyelmen kívül hagyja, ha azokat idézőjelek. FqL-lekérdezés hossza legfeljebb 2048 karakter lehet.

A 3. táblázat típusú operátorok FqL.

3. táblázat típusai operátorok FqL

Analóg az OR operátor, kivéve, hogy a dinamikus értékelés (intézkedés relevanciáját az eredményhalmaz) nem érinti a számát a mindenkori operandusok vagy a távolságot a kifejezéseket az elem. Az operandusok lehetnek kiválasztva feltételek vagy megengedhető részét FqL-kifejezéseket.

dinamikus rangsorolási komponense erre a kérés részeként alapján a legmegfelelőbb kifejezés bármilyen kifejezés.

Ezzel szemben az OR operátort jár csak a minősítés az eredmény meg. Kérésére ugyanaz lesz a találatok számát.

bármilyen (operandus, operandus [, operandus] *)

Az alábbi nyilatkozat megfelel az elemek, amelyek az alapértelmezett full-text index tartalmazza a „macska” vagy a „kutya”.

Ha az index, amely az „macska”, és a „kutya”, hanem a „macska” tartják a legjobb egyezésre, dinamikus eleme a minősítés alapján kerül sor a „macska”, tekintet nélkül a „kutya”.

Ez jelzi, hogy hány lekérdezési kifejezések, amelyeknek tartalmazniuk kell egy elemet, hogy vissza emiatt. Az operandus lehet egy lekérdezés kifejezés a lekérdezés terminológia helyettesítő karakterek.

tulajdon-spec: count (operandus [, a =, a =])

Ez azt jelzi, hogy szükség van egy szó vagy kifejezés végére sikerült ingatlanok (összehasonlítás határok).

Numerikus összehasonlítása szabályozott tulajdonságok határokat nem támogatott. Számukra az egyetlen támogatott Exact Match & tartományban.

Egyes alkalmazások esetén szükséges, hogy a pontos egyezés kezelt tulajdonságait. Például, lehet szabályozni a termék neve tulajdonság. ha a termék teljes név részstringjének nevét a másik termék.

végződik-a ()

Az alábbi nyilatkozat megfelel az elemek értékei „Mr Adam Jones” és az „Adam Jones” a kezelt vagyon a „szerző”. Ez nem felel meg az elemek értékét „Adam Jones sr”.

jegyzetek

Alkalmazni határok térképezés kéri, be kell állítani a megfelelő kezelt vagyon a rendszer az index.

Rátérve a kezelt vagyon határokat összehasonlítás funkciót, akkor hajtsa végre a következő műveleteket:

felhasználására vonatkozó kérelmeket explicit térképezése határok

megtiltják a keresést húrok illő kifejezés határait. Az irányított tulajdonságok, amelyek több sort, ez a funkció blokkolja a keresést illő szavak előtt vagy után az index a határon.

Ez rámutat a pontos egyezés a kezelt vagyon.

Az alábbi nyilatkozat megfelel az elemeket, amelyek eddig is a cím tulajdon. tartalmazó „szonáta”, és sikerült tulajdon Doctype. „Audio”, amely csak a jelzőt. A nyelvi feldolgozás „audio” lesz végrehajtva. Mivel FILTER marker fogják használni, hogy megfeleljen „audio”, a szöveg ki van jelölve az összefoglaló a kiválasztott mérkőzések.

jegyzetek

Ha azt szeretnénk, hogy korlátozza a lekérdezés, hogy megfeleljen legalább az egyik egy nagy készlet egész számok numerikus ingatlan, akkor ezt a két, funkcionálisan egyenértékű módon:

és (string ( "hello world"), szűrő (ingatlan-spec: vagy (1, 20, 453 3473)))

és (string ( "hello world"), szűrő (ingatlan-spec: int ( "január 20 3473 453." mode = "vagy")))

A második példában az INT és a húr operátor egy sor számértékek idézőjelek. Ez egy sokkal jobb teljesítményt szűrés sok olyan számszerű értékeket.

Ez lehetővé teszi, hogy egyértelműen meg kell határozni, hogy milyen típusú numerikus lebegőpontos értékek. Operandus - egy lebegőpontos értéket szerinti szintaxisát pontban meghatározott kifejezések markerek FqL.

Explicit típuskonverziójára kötelező, és általában nincs szükség. lekérdezési kifejezés típusa alapján kell meghatározni, hogy milyen típusú a cél kezelt numerikus tulajdonságait.

float ()

A következő kifejezés megfelel az összes húrok az előző táblázatban.

közelében (macska, kutya, róka, farkas, N = 5)

jegyzetek

Ajánlásai között a távolság szempontjából közeli / ONEAR







A N paraméter jelzi a maximális szavak számát között lehet lekérdezési kifejezéseket a szegmensben egybeeső elem. Ha a közelében ONEAR vagy állhat két vagy több operandust, a maximális szavak számát lehet ezek között a lekérdezési kifejezések (N) úgy kell kiszámítani elem szegmens, amely az összes feltételt vagy közel ONEAR.

Közelébe vagy ONEAR munka Markup. Ez azt jelenti, hogy speciális karakterek, például vessző ( „»), a tizedesvessző, egy kettőspont ( »:«) («.”) Vagy pontosvessző ( »;«) kell kezelni, mint egy tér. A „távolság” kifejezés markerek az indexelt szöveget.

Ha ön használ ONEAR vagy közel azonos operandus az üzemeltető fog működni a következő:

Ez a lekérdezés mindig ad vissza true értékkel. kivéve, ha a kontextus lesz legalább az egyik esetben az „” egy „”. Ezen túlmenően, az azt jelenti, hogy a NEAR nem lehet használni, mint egy szolgáltató COUNT. További információkért számának kiszámítása szempontjából, lásd. A leíró részben COUNT nyilatkozatot.

Közel van. alkalmazott a mondatok is egyezik átfedő kifejezések a szövegben.

Ha a marker a megfelelő szegmensek felel meg egynél több operandust vagy expressziós NEAR ONEAR. a kérés lehet elégíteni még akkor is, ha a szám a nem megfelelő markerek a megfelelő szegmens értéket meghaladja „N” az expresszió vagy közel üzemeltető ONEAR. Például az overlay lehet átfedés kifejezéseket. Ha a szám a markerek átfedés megfelelések - „O”, a kérés akkor teljesül, ha a megfelelő szegmens az elem nem több, mint „N + O” nem megfelelő markerek.

A NOT operátor nem használható a szolgáltatók vagy a közelében ONEAR. Az alábbiakban egy példát rossz FqL szintaxis:

Garancia elemek nem megfelelő operandus. Az operandus bármilyen érvényes FqL-kifejezés.

Ez a paraméter egy pozitív szám jelzi a kifejezés súlyát dinamikus értékelése.

Amikor rangsorolás távon a kisebb tömeg értéket egy kisebb értéket, a kifejezés egy magasabb érték - magasabb. Ha a súly távon nulla, akkor a kifejezés nem befolyásolja a dinamikus értékelése.

A súly paraméter alkalmazható az összes feltételt a karakterlánc-kifejezés.

Súly paraméter csak érinti a full-text index lekérdezések.

Engedélyezése vagy tiltása mind benne vannak a lekérdező karakterlánc nyelvészet funkciók (lemmatization, szinonimák, helyesírás-ellenőrzés).

Akkor használja ezt a lehetőséget, hogy tiltsa le a nyelvi feldolgozás egy adott kifejezést vagy string, de ebben az esetben a kifejezés vagy karakterlánc még részt vett az értékelésnél.

Az alapértelmezett beállítás: „ON”

Ez a paraméter a helyettesítő karaktereket kifejezéseket a kifejezéseket <текстовой строки>. Ez a beállítás felülbírálja a beállításokat a helyettesítő lekérdezési paraméterek és lehetővé teszi, hogy engedélyezze vagy tiltsa le a kiterjesztett joker egyes részein a kérelmet.

"ON". Azt jelzi, hogy a „*” karaktert értelmezi a helyettesítő. A szimbólum „*” nulla vagy több szimbólumot.

"OFF". Ez azt jelzi, hogy a „*” karakter nem értelmezhető úgy, mint a helyettesítő.

Az alapértelmezett beállítás: „ON”

1. példa Mivel a módsorba alapértelmezés szerint „kifejezés”, a következő kifejezések ugyanazt az eredményt adja.

„Mi a fény tükröződik azon az ablakon” string ( „mi a fény tükröződik azon az ablakon”) szöveg ( „mi a fény tükröződik azon az ablakon”, mode = „kifejezés”) kifejezés (mit, fény, át, amott, ablak, szünetek)

Példa 2. A következő karakterlánc-kifejezés markerek és a véleménynyilvánítás és üzemeltetője ugyanazt az eredményt adja.

string ( "macska kutya róka", mode = "és") és (kutya, macska, róka)

3. példa Az alábbi marker szöveges kifejezést és véleménynyilvánítás OR operátor ugyanazt az eredményt adja.

string ( "prérifarkas Saguaro" mode = "vagy"), vagy (coyote, Saguaro)

4. példa Következő stringkifejezés és marker expressziós üzemeltető MINDEGY ugyanazt az eredményt adja.

string ( "prérifarkas Saguaro" mode = "minden") bármely (coyote, Saguaro)

5. példa: A következő karakterlánc expressziós markereket és expressziós NEAR üzemeltető ugyanazt az eredményt adja.

string ( "prérifarkas Saguaro" mode = "közeli") közel (coyote, Saguaro)

6. példa A következő karakterlánc expressziós markereket és expressziós NEAR üzemeltető ugyanazt az eredményt adja.

string ( "macska kutya róka farkas", üzemmód = "közeli", N = 4) közelében (macska, kutya, róka, farkas, N = 4)

7. példa Következő stringkifejezés és marker expressziós ONEAR szereplő ugyanazt az eredményt adja.

string ( "macska kutya róka farkas", mode = "onear") onear (kutya, macska, róka, farkas)

8. példa Következő karakterlánc marker expressziós megfelel a „nemesebb” a funkció kikapcsolva nyelvészet, de más formák ezt a szót (például „nemesítő”) nem képest szétválasztása gyökerek.

9. példa A következő kifejezés illeszkedik az elemeket, amelyek tartalmazzák a „macska” vagy a „kutya”, hanem egy dinamikus besorolásnak elemek előfordulása a „kutya” kifejezés jobban növekedett elemek előfordulása a „macska”.

vagy (string ( "cat", súly = "200"), karakterlánc ( "kutya", súly = "500"))

jegyzetek

Releváns súlya dinamikusan rangsor

A súly paraméter célja elsősorban az OR lekérdezés. Ezen túlmenően, ez hatással lehet a több és lekérdezések. Az algoritmus feltételezi, dinamikus értékelése, hogy a különböző fogalmakat eltérően vesz részt a folyamatban kezdve attól függően, hogy a kifejezés megjelent véletlen.

Különbségek a részvételének mértéke az értékelés alapja gyakorisága feltételei és gyakorisága visszacsatolási elemeket. Például:

Keresés: és (string ( "a"), karakterlánc ( "b", súly = 200)).

Reakcióvázlat index: tömeg tulajdonságok kezelt cím nagyobb, mint a tömeg kezelt tulajdonság testet.

elem tartalmazza index 1, az „a” a tulajdon „címet”, és a „b” az ingatlan „test”.

index 2 elem tartalmazza az „egy” a tulajdonság a „test”, és a „b” a „cím” tulajdonság.

Ebben a példában a 2 elem lesz magasabb átlagos értékelése jelentőséggel bír, mivel az elemek a magasabb minősítés járó dinamikus kapnak további növelése rangot.

Relatív értelemben növekedése (pozitív vagy negatív) alkalmaznak a komponensek a dinamikus összesített értékelés rangsorban. Azonban kiszámításakor minősítés növekvő távolságok (távolságok között szó) függetlenek a súly szempontjából. A relatív súlya nem mindig azt jelenti, hogy az összesített értékelés a tétel összhangban változik egy előre meghatározott százalékát.

Az alábbi lekérdezés megkeresi a „peter”, „Paul” vagy „Mária”, ahol az „peter” jelentősége lesz kétszer magasabb, mint a jelentősége a másik két tag.

vagy (Peter, húr ( "Paul Mary", üzemmód = "OR", súly = 50))

Feldolgozás sorok speciális karakterek

Különleges karakterek, például vessző ( " "), pontosvessző ( ';'), kettőspont ( ":"), a tizedesvessző, a mínusz jel ( "-"), aláhúzás ( "_") vagy a (".") egy perjel ( „/”), úgy egy üres tér belsejében a karakterlánc, idézőjelek. Ez vonatkozik a szétválás folyamatának markerek. Azt is jelenti, hogy implicit megfogalmazása markerek elválasztva ezeket a szimbólumokat.

Az alábbi állítások ekvivalensek lekérdezések:

Cím: string ( "állatok madarak", üzemmód = "kifejezés") cím: "állatok / madár" cím: string ( "állatok / madár", mode = "és") cím: string ( "állatok / madár", üzemmód = „vagy”)

Az alábbi állítások ekvivalensek lekérdezések:

Cím: vagy (string ( "állatok madarak", üzemmód = "kifejezés"), karakterlánc ( "állatok rovarok", üzemmód = "kifejezés")) cím: string ( "állatok / madár állatok / rovarok", mode = "vagy" )

Az alábbi állítások ekvivalensek lekérdezések:

test: string ( "segítsen contoso com", mode = "kifejezés") karosszéria: string ( "[email protected]")

Kifejezésegyezés osztva a markerek

Kereshet pontos marker vonalat STRING üzemeltető mód mode = „kifejezés” kifejezés operátor.

Minden ilyen műveletek a kifejezés azt jelenti, kulcskifejezéssel, osztva a markerek. Ez azt jelenti, hogy speciális karakterek, például vessző ( ""), pontosvessző ( ';'), kettőspont ( ":"), aláhúzás ( "_"), mínusz ( "-"), vagy a perjel ( „/”) tekintjük üres. Ez vonatkozik a szétválás folyamatának markerek.

Fokozott dinamikus rangot alapuló elemek előfordulását bizonyos értelemben a mérkőzés kifejezést megváltoztatása nélkül elemeket megfelelő kérelmet. XRANK expressziója egy összetevő, amely kielégíti a kifejezést (Match expresszió), és egy vagy több komponenst, amelyek részt csak a dinamikus rangsorolási (rank expresszió). Ahhoz XRANK expresszió volt érvényes, mert tartalmaznia kell legalább az egyik paraméter, kivéve a n.

Match kifejezést bármilyen érvényes FqL-kifejezés, beleértve a beágyazott kifejezéseket XRANK. Helyezett kifejezést bármilyen érvényes FqL kifejezése kifejezéstelen XRANK. Ha a FqL-lekérdezések több XRANK szereplők. Az utolsó kifejezés a dinamikus értékelés kerül kiszámításra összege növekszik az összes piaci szereplő XRANK.

xrank ( [ ] *, Rank-paraméter [, rang-paraméter] *)




Kapcsolódó cikkek