|
|
PaskelbtaVakar 20:20
|
|
|
|

Viso teksto ieška yra pasirenkamas SQL serverio duomenų bazės modulio komponentas. Jei diegdami SQL serverį nepasirinkote viso teksto ieškos, dar kartą paleiskite SQL serverio diegimo programą, kad ją įtrauktumėte.
Apžvalga
Viso teksto rodyklėje yra vienas ar keli simboliais pagrįsti lentelės stulpeliai. Šie stulpeliai gali turėti bet kurį iš šių duomenų tipų: char, varchar, nchar, nvarchar, text, ntext, image, xml arba varbinary(max) ir FILESTREAM. Kiekvienas viso teksto indeksas sukuria vieno ar kelių lentelės stulpelių indeksą, o kiekvienas stulpelis gali naudoti tam tikrą kalbą.
Viso teksto užklausos veikia žodžius ir frazes pagal konkrečių kalbų (pvz., anglų ar japonų) taisykles, todėl kalbos paieška atliekama pagal viso teksto rodyklėje esančius teksto duomenis. Viso teksto užklausos gali apimti paprastus žodžius ir frazes arba kelias žodžių ar frazių formas. Viso teksto užklausa pateikia visus dokumentus, kuriuose yra bent vienas atitikmuo (taip pat vadinamas "atitiktimi"). Atitiktis įvyksta, kai paskirties dokumente yra visi viso teksto užklausoje nurodyti terminai ir visi kiti ieškos kriterijai (pvz., atstumas tarp sutampančių terminų).
"Linux Docker MSSQL 2022" viso teksto paieškos paslaugos diegimas
Nuorodos yra šios:
Patikrinkite, ar įdiegta SQL SERVER viso teksto paieškos funkcija
Komanda yra tokia:
SQL serverio viso teksto ieška, viso teksto rodyklė
Pirmiausia sukurkite naują testavimo biblioteką ir įterpkite bandymo duomenis. Scenarijus yra toks:
Viso teksto turinio kūrimas
Viso teksto turinys naudojamas viso teksto rodyklei saugoti. Jį galite sukurti tiesiogiai naudodami šiuos scenarijus:
Duomenų bazės lentelių viso teksto indeksų kūrimas
Kurdami duomenų bazės lentelės viso teksto indeksą, turite nurodyti atitinkamą kalbą. Kadangi žodžių segmentavimas įvairiose kalbose skiriasi, SQL serveris naudos atitinkamos kalbos žodžių segmentavimą lentelės duomenims apdoroti. "SQL Server" viso teksto paieška palaiko apie 50 skirtingų kalbų, todėl galite peržiūrėti visas palaikomas kalbas, pateikdami užklausas sys.fulltext_languages lenteles. Komanda:
Kaip parodyta žemiau:
Tada pridedame viso teksto indeksą, skirtą supaprastintai kinų kalbai, prie naujienų lentelės laukų Pavadinimas ir turinys:
Viso teksto predikatų ir funkcijų paieška
Viso teksto užklausose naudojami viso teksto predikatai (SUDĖTYJEirLAISVAS TEKSTAS) ir viso teksto funkcijos (SUDĖTYJEirLAISVO TEKSTO LENTELĖ)。 Jie palaiko sudėtingą Transact-SQL sintaksę, kuri palaiko įvairias užklausos terminų formas.
Skirtumas tarp CONTAINS ir FREETEXT
CONTAINS: Hipersaito prisijungimas matomas.
Naudokite tikslius atitikimo metodus, kad rastumėte konkrečius žodžius ar frazes tekste. Palaiko sudėtingas užklausos sąlygas, pvz., artumo paiešką (pvz., žodžiai turi būti rodomi vienas šalia kito), priešdėlio paiešką ir kt. Paprastai jis naudojamas tais atvejais, kai reikia konkretesnės paieškos rezultatų kontrolės.
FREETEXT: Hipersaito prisijungimas matomas.
Suteikia lankstesnę ir natūralia kalba pagrįstą paiešką. Specialių paieškos kriterijų nereikia; Jis automatiškai analizuoja įvesties tekstą ir bando rasti susijusį turinį. Tai labiau tinka vartotojams, norintiems atlikti paprastas raktinių žodžių paieškas, pvz., "Google", nesijaudindami dėl konkrečių vietų ar formatų.
Komandos yra šios:
Kaip parodyta žemiau:
CONTAINSTABLE ir FREETEXTTABLE
CONTAINSTABLE grąžina lenteles, atitinkančias užklausos kriterijus. SQL sakiniuose galime juos traktuoti kaip įprastas lenteles, o užklausos, naudojančios CONTAINSTABLE grąžina kiekvienos eilutės RANK reikšmę ir KEY. RANK naudojamas koreliacijos atitikties laipsniui nurodyti, kai reikšmės yra nuo 0~1000, o KEY yra pagrindinės lentelės ID. FREETEXTTABLE pirmiausia segmentuoja žodžius ir sakinius, kuriuos reikia užklausti, tada pateikia atitikimo užklausas. Komanda yra tokia:
Kaip parodyta žemiau:
Be to, segmentavimo rezultatus galite patikrinti pateikdami užklausą sys.dm_fts_parser:
Kaip parodyta žemiau:
išduoti
Klausimas: CONTAINS pagal numatytuosius nustatymus nepalaiko neaiškių užklausų. Jei įvesite CONTAINS(Stulpelis, 'obuolys'), jis atitiks šakninį žodį (pvz., obuoliai), bet ne ananasus. Sprendimas: Jei reikia neaiškių užklausų, jos turi būti dedamos prieš ir po pakaitos simboliųPridėkite dvigubas kabutes ir žvaigždutę:CONTAINS(Stulpelis, '"*obuolys*"')
Nuoroda:
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas. |
Ankstesnis:Nuotolinio darbo, darbo ir laisvai samdomų darbuotojų darbo platformos svetainė
|