Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 10896|Atsakyti: 0

[Šaltinis] Šiek tiek žinių apie SQL Server 2008 viso teksto paiešką

[Kopijuoti nuorodą]
Paskelbta 2015-10-04 21:03:04 | | |
1. Aš perskaičiau keletą gerų pranešimų,

SQL Server 2008 viso teksto ieškos apžvalga http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html

Viso teksto rodyklės http://www.cnblogs.com/liulun/articles/1368655.html


Pirmiausia nukopijuokite pastraipą:

K: Kodėl viso teksto paieška?
A: Kadangi teksto užklausos greitis yra lėtas (nerekomenduojama kurti indekso ant teksto, todėl tai yra priežastis)
K: Ar yra koks nors skirtumas nuo 2005 m.?
A; Žinoma, yra skirtumas, o prieš pavadinimą yra integruotas. Anksčiau 05 turėjo atskirą indekso failą ir variklį, tačiau 08 jis buvo integruotas į failų grupę.
K: Koks yra principas?
A: Remiantis raktiniais žodžiais
K: Kaip tai susiję su įprastais indeksais?
A: Tikslas yra pagerinti užklausos greitį. Viso teksto rodyklės turi daug tų pačių funkcijų kaip ir rodyklės
    Viso teksto paieška naudoja semantinę paiešką (ši technika skamba labai giliai), taip pat gali būti naudojama dvejetainiams dokumentams.
K: Kam jis skirtas?
A: Paprasčiausias pavyzdys, dokumentų paieška, neryškus atitikimas, greitas ir didelis kiekis taip pat gali būti reitinguojamas.



Du. Tada eikite į MSDN pamatyti kai Dongdong:

Viso teksto rodyklės apžvalga
http://msdn.microsoft.com/zh-cn/library/cc879306.aspx



Kai kurios iš šių citatų yra nukopijuotos taip:

1. SQL Server 2008 viso teksto variklis yra visiškai integruotas į duomenų bazės variklį. Viso teksto variklis dabar yra SQL serverio procese (sqlservr.exe), o ne atskirame procese (msftesql.exe). Integruojant viso teksto variklį į duomenų bazės variklį, pagerėja viso teksto valdymas, optimizuojamos hibridinės užklausos ir pagerėja bendras našumas. Vietovė: http://msdn.microsoft.com/zh-cn/library/ms142587.aspx

2. Viso teksto paieškos kūrimo žingsniai, per daug tingus daryti ekrano kopijas, pamatyti, kad tai padarė kiti, cituoti tiesiogiai, bet iš antrojo puslapio jis skiriasi nuo mano vietinio, negaliu tiesiogiai dešiniuoju pelės mygtuku spustelėti lentelės, kad sukurčiau viso teksto paiešką, numatytasis yra pilkas, galiu sukurti indeksą tik viso teksto indekso katalogo kataloge saugykloje.  http://www.sql-server-performance.com/2010/full-text-search-2008/

3. Iš pradžių maniau, kad viso teksto paieškos katalogas turėtų būti katalogas atitinkamame standžiajame diske, kuris yra panašus į locune sąvoką. Tačiau iš tikrųjų nuo "SQL Server 2008" viso teksto katalogas yra virtualus objektas ir nepriklauso jokiai failų grupei. Viso teksto turinys yra loginė sąvoka, vaizduojanti viso teksto rodyklių rinkinį. Šaltinis:
http://msdn.microsoft.com/zh-cn/library/ms142497.aspx

4. Galite sukurti tik viso teksto indeksą lentelėje arba rodyklės rodinyje, bet ne viso teksto indeksą įprastam rodiniui.

Viso teksto indeksas yra specialus žymekliu pagrįsto funkcinio indekso tipas, kurį generuoja ir prižiūri viso teksto variklis. Norint sukurti viso teksto iešką lentelėje arba rodinyje, lentelė arba rodinys turi turėti unikalią, nenulinamą vieno stulpelio rodyklę. Viso teksto variklis turi naudoti šį unikalų indeksą, kad susietų kiekvieną lentelės eilutę su unikaliu suspaudžiamu klavišu. Viso teksto rodyklėse gali būti stulpeliai Char, Varchar, Nchar, Nvarchar, Text, Ntext, Image, XML, Varbinary ir Varbinary(max).

5. Norėdami sukurti viso teksto indeksą A lentelėje, yra prielaida, tai yra, A lentelėje turi būti bent vienas unikalus indeksas, tai yra, jei A lentelėje nėra indekso, nenorite sukurti viso teksto indekso A lentelėje.

"6.SQL Server 2008" viso teksto indekso dydį riboja tik kompiuterio, kuriame veikia SQL serverio egzempliorius, turimi atminties ištekliai. http://msdn.microsoft.com/zh-cn/library/cc879306.aspx

7. Užklausa keliuose stulpeliuose (viso teksto paieška)
Nurodydami ieškotinų stulpelių sąrašą, galite pateikti užklausą keliuose stulpeliuose naudodami predikatą CONTAINS. Šie stulpeliai turi būti iš tos pačios lentelės.

Naudokite skliaustus, SELECT Name, Color FROM Production.Product WHERE CONTAINS((Name, Color), 'Red');

Arba naudokite * ženklą, SELECT Name, Color FROM Production.Product WHERE CONTAINS(*, 'Red');

Šaltinis: http://msdn.microsoft.com/zh-cn/library/ms142488.aspx

9. Užklauskite kelis stulpelius kelioms lentelėms

Jame gali būti tik CONTAINS arba CONTAINS, pvz., WHERE CONTAINS(t1. Name, 'Red') arba CONTAINS(t2. vardas, pavardė "raudona");

10. Optimizuotas viso teksto užklausų našumas

Naudokite ALTER FULLTEXT CATALOG REORGANIZE norėdami pertvarkyti viso teksto katalogą.

KEISTI VISO TEKSTO KATALOGĄ kliento atkūrimas SU ACCENT_SENSITIVITY=OFF

Norėdami gauti daugiau informacijos, tiesiog pažvelkite į tai: http://msdn.microsoft.com/zh-cn/library/cc879244.aspx

11. Atlikite priešdėlio paiešką http://msdn.microsoft.com/zh-cn/library/ms142492.aspx

Galite naudoti viso teksto iešką, norėdami ieškoti žodžių ar frazių su nurodytu priešdėliu.

Kai atliekate priešdėlio iešką, grąžinami visi stulpelio elementai, kuriuose yra tekstas, prasidedantis nurodytu priešdėliu. Pavyzdžiui, norint ieškoti visų eilučių, kuriose yra priešdėlis viršuje (pvz., nuvertimas, viršūnė ir pats viršus), užklausa atrodytų taip:

SELECT * FROM Product WHERE CONTAINS (ProductName, '"auto*"');
Bus grąžintas visas tekstas, atitinkantis prieš žvaigždutę (*) nurodytą tekstą.

Pastaba: Jei prieš ir po teksto ir žvaigždutės nepridėsite dvigubų kabučių (pvz., CONTAINS (DEscrip{filter}tION, 'top*')), viso teksto ieška žvaigždutės kaip pakaitos simbolio nenaudosite.

Kai priešdėlis yra frazė, kiekvienas frazę sudarantis atpažinimo ženklas traktuojamas kaip atskiras priešdėlis. Grąžinamos visos eilutės, kuriose yra žodžių, prasidedančių šiais priešdėliais. Pavyzdžiui, priešdėlis "šviesi duona*" ieškos eilučių su tekstu "šviesiai kepta", "lengvai kepta" arba "šviesi duona", bet negrąžins "Lengvai skrudinta duona".





Ankstesnis:Kantono daina Jacky Cheung, ji jaučiasi gana gerai
Kitą:Vienai merginai Lianyungange, Dziangsu provincijoje, tualete buvo atimti marškiniai ir ji buvo sumušta
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com