Professional Documents
Culture Documents
Full Text Search
Full Text Search
Hi n nay, cng ngh thng tin c xem l ngnh m i nh n c a cc qu c gia, c bi t l cc qu c gia ang pht tri n, ti n hnh cng nghi p ho v hi n i ho nh n c ta. S bng n thng tin v s pht tri n m nh m c a cng ngh k thu t s , yu c u mu n pht tri n th ph i tin h c ho vo cc ngnh, cc l nh v c. C s d li u c ng c vai tr trong cng ngh thng tin. Hi n nay con ng i pht tri n c s d li u x l thng tin n gi n h n. Tm ki m trong c s d li u l m t ch c n ng quan tr ng, n gip ng i dng c th tm ki m thng tin c n thi t nhanh h n. tm hi u v tm ki m nng cao trong c s d li u, nhm chng em ch n ti ti u lu n: tm hi u Full Text Search lm ti c a mnh. Tm ki m ton v n Full Text Search(FTS) gip vi c tm ki m tr nn d dng h n. Chng em xin c m n c L Th Thu H thnh ti ny. ng h ng d n t n tnh nhm em hon
M c d c nhi u c g ng nh ng nhm em khng trnh kh i nh ng thi u st, h n ch v ki n th c. v v y r t mong s ng gp c a cc th y c bi ti u lu n chng em c hon ch nh h n. Chng em xin chn thnh c m n! H ng Yn, ngy 20 thng 11 n m 2010. Nhm sinh vin th c hi n Tr ng Th Tuy t Nguy n Th Hoa
Page 1
M CL C
L IM
U ................................................................................................................. 1
M C L C ....................................................................................................................... 2 N I DUNG ..................................................................................................................... 3 1. 2. 3. T ng quan v Full Text Search ........................................................................... 3 Gi i Thi u Full-Text Search (FTS) ..................................................................... 3 C u Trc Tm Ki m Theo Full-Text Search ........................................................ 5 3.1 Thnh Ph n C a FTS ....................................................................................... 6 3.2 C ch ho t 4. ng c a FTS ............................................................................... 7 C u Hnh Full-Text Catalog (FTC) ..................................................................... 8 4.1 Cch t o FullTextCatalog v t o FullTextIndex ............................................... 9 4.2 Xa FullText Catalog v FullTextIndex ......................................................... 12 5. S d ng hm trong cu truy v n ........................................................................ 13 5.1 Hm CONTAINS .......................................................................................... 13 5.2 Hm Freetext ................................................................................................. 17 5.3 Hm CONTAINSTABLE .............................................................................. 18 5.4 Hm FREETEXTTABLE .............................................................................. 18
Page 2
N I DUNG
1. T ng quan v Full Text Search
Microsoft SQL gi i thi u ch c n ng Full-Text search (FTS)cho php tm ki m k t , chu i, c m t trong c s d li u thay v tm ki m trn t ng c t d li u c a Table. Cc thng tin trong cc ch m c ton v n c s d ng b i cc cng c y v n b n bin d ch ton v n cc truy v n c th nhanh chng tm ki m m t b ng cc t ho c s k t h p c a t y cc v n b n ch m c l u tr thng tin v nh ng t c ngh a v v tr c a h trong vng m t ho c nhi u c t c a m t b ng c s d li u. M t ch m c ton v n l m t d ng c bi t c a ch s ch c n ng d a trn th c xy d ng v duy tr b i cc cng c y v n b n cho SQL Server. Qu trnh xy d ng m t ch s ton v n khc v i xy d ng cc lo i ch s . Thay v xy d ng m t c u trc cy d a trn gi tr c l u tr trong m t hng c th , cc Full-Text xy d ng m t, o ng c c u trc, ch s nn x p ch ng ln nhau d a trn cc th c nhn t v n b n s c l p ch m c. i v i m t c s d li u m i SQL 2008, cc ton v n l m t i t ng o m khng thu c v b t k filegroup, n ch l m t khi ni m logic dng ch m t nhm cc ch m c ton v n. Full-Text Search Upgrade . Tuy nhin, trong khi nng c p c a SQL Server 2000 ho c c s d li u SQL Server 2005, b t k v n b n y danh m c ch a cc t p tin d li u, m t filegroup m i c t o ra; cho bi t thm thng tin. Ch c m t ch m c ton v n l cho php m i b ng. i v i m t ch m c ton v n ph i c t o ra trn m t b ng, cc b ng ph i c m t, c t nonnull n duy nh t. Ta c th xy d ng m t ch s v n b n y trn cc c t c ki u char, NCHAR varchar, nvarchar, text, ntext, image, xml, varbinary, v varbinary (max) c th c l p ch m c ton v n tm ki m. T o m t ch m c v n b n y trn m t c t c ki u d li u l varbinary, varbinary (max), image, ho c xml yu c u xc nh m t c t ki u. M t c t lo i l m t c t trong b ng, trong chng ta l u tr cc t p tin m r ng (. Doc. Pdf,. Xls, vv) c a cc ti li u trong m i hng.
V d : Khai bo php ton Like Select * from nhacungcap Where tenNCC like %MA% Go Khi th c thi pht bi u SELECT trong v d trn, c th tm th y k t qu nh hnh sau:
Hnh 1: Danh sch nh cung c p v i tn c chu i Ma. Trong tr ng h p mu n tm ki m trn nhi u c t th c th s d ng ton t AND hay OR. Ch ng h n, khai bo tm ki m trn m t c t d li u vi hai i u ki n Like nh v d sau: V d : Khai bo php ton tm ki m trn m t c t d li u v i hai c t d li u SELECT *FROM Nhacungcap Where tenNCC LIKE %YAMA OR tenNCC LIKE %Delle Go Nhm 11_L p TK6_NE Page 4
Hnh 2: Danh sch nh cung c p Tuy nhin, c th s d ng FTS v i hm CONTAINS nh v d sau: V d : Khai bo hm CONTAINS SELECT * FROM Nhacungcap CONTAINS(tenNCC, *Yama* OR Delle); Go Khi th c thi pht bi u SELECT v i hm CONTAINS trong v d trn, c th tm th y danh sch nh cung c p trnh by nh hnh sau:
Hnh 3: Danh sch nh cung c p. lm c i u ny, chng ta c n nghin c u k thu t tm ki m v cch c u hnh d ch v Full-Text Search trong ng d ng ph n k ti p.
Page 6
ng c a FTS
3.2.1 B l c d li u Nhi n v c a ch c n ng Filter l trch l c lu ng thng tin d ng Text t v n b n c l u trong c s d li u v lo i b nh ng thng tin khng thu c nh d ng ny, sau t o nh ng chu i c a v n b n cng v i thu c tnh ny m c th truy n vo cho ch c n ng ch m c. Ngoi ra, Filter cn c th trch l c thng tin d ng chu i t cc dang nh d ng v n b n nh : Micrisoft word, t p tin d ng Text. Ch ng h n, Microsoft cung c p b l c Microsoft Office Filter trch l c d li u t t p tin d ng Word, Microsoft Excel v Microsof Powerpoint. 3.2.2 B ki m sot nghi th c truy v n Trong SQL Server 2005, ch c n ng c a b ki m sot nghi th c truy v n l cho php truy c p d li u t b ng trong c s d li u c th . Nhm 11_L p TK6_NE
Page 7
Hnh 5: Cho php c s d li u s d ng d ch v FTS. Trong tr ng h p c s d li u t n t i c ng c th ch n vo ty ch n Use full-text indexing b ng cch kch ho t c a s Properties, v d trong tr ng h p c s d li u Accountsystem n hnh sau:
Page 8
Page 9
Hnh 7: Ch n ty ch n Sensitive v Insensitive. Ngoi cch s d ng MS nh trn c th t o CSDL fulltextsearch b ng cch s d ng pht bi u CREATE FULLTEXT CATALOG v i c php nh sau: CREATE FULLTEXT CATALOG catalog_name [ ON FILEGROUP filegroup ] [ INPATH rootpath ] [ WITH <catalog_option>] [ AS DEFAULT ] [ AUTHORIZATION owner_name] < catalog_option >:: = ACCENT_SENSITIVITY = {on| off} Ch ng h n, t o CSDL FTS c tn QuanLySinhVien th khai bo nh sau: CREATE FULLTEXT CATALOG QuanLySinhVien WITH ACCENT_SENSITIVITY = off AS DEFAULT GO Ch : Khi t o m i SCDL cho d ch v FTS c th tm th y ng n general. Tuy nhin, sau khi t o thnh cng, n u kch ho t tr l i c th tm th y ba ng n general, table/ views, population schedule. Trong ng n General trnh by thng tin c a CSDL. N u mu n s d ng hm c a FTS trong khi tm ki m c n khai bo FTI (full text indexing) cho cc c t d li u trong b ng. lm i u ny c th dng 2 cch, cch th nh t l ch n vo ng n table /views v ch n tn table cho php tm ki m b ng hm c a FTS. Sau khi ch n table hay view vo danh sch bn ph i, ti p t c ch ch n b ng d li u l SinhVien r i ti p t c ch n c t diachi v lop Nhm 11_L p TK6_NE nh c t d li u. V d , Page 10
Page 12
Hnh 8: S n ph m ti sch TRong tr ng h p ch a m u tin ch a t hay nhm t khng phn bi t chu i ngay sau , c th s d ng k t *, t ng t nh v d sau: V d : Khai bo k t * Select*from sanpham where contains (ten, ti sch dng cho * ), go Khi th c thi pht bi u SELECT trong v d trn, c th tm th y danh sch s n ph m nh hnh sau:
Hnh 9: S m ph m ti sch dnh cho Chng ta tm hi u m t s ty ch n NEAR | ~ v php ton { AND | &} | {AND NOT |&!}|{OR||} s d ng trong m nh where. 5.1.1 Ty ch n NEAR Ty ch n ny ch ra t hay nhm t g n pha bn tri, v d khai bo wordA NEAR wordB NEAR wordC . t hay nhm t wordA c th ng g n v i t hay nhm t wordB, m t hay nhm t WordB s ng g n t hay nhm t wordC Nhm 11_L p TK6_NE Page 15
Hnh 10: S d ng ty ch n NEAR V d : Khai bo ty ch n Select* from sinhvien where contains (hoten, V ~ Trang );
Hnh 11: S d ng ty ch n ~ 5.1.2 Php ton Ta c th s d ng php ton AND ho c OR trong hm CONTAINS V d : khai bo php ton OR Select * From SinhVien where Contains (HoTen, Phan or Thu); K t qu :
Hnh 12: Php ton OR V d : Khai bo s d ng bi n Declare @ HoTen nvarchar(10) Set @HoTen = Phan Select *from sinhvien where Nhm 11_L p TK6_NE Page 16
Hnh 14: S d ng bi n 5.2 Hm Freetext Hm Freetext dng tm ki m m u tin trong b ng c c t v i ki u d li u l chu i c ngh a ng hay khng c n ch a ng t ho c nhm t do ng i s d ng truy n vo. C php: FREETEXT ({column_name|(column_list)|*} freetext_string [,LANGUAGE language_term]) Trong : Tham s column_name l c t d li u c ki u d li u char, varchar, nchar, nvahchar, text, ntext, image, xml varbinary d c khai bo FTI Tham s freetext_string l v n b n tm ki m c tm ki m trong c t column_name. y l ki u tm ki m theo ki u fuzzy (tm ki m m ), v d khi tm ki m v i t kha Phan t t c d li u c d ng han,Tha, s c tm th y. Khi truy n vo m t t p cc t nh Phan Th Hi p, t t c d li u c t Phan ho c Th , s c tm th y Full-Text c u i m khng phn bi t ti ng Vi t c d u hay khng d u V d : tm ki m sinh vin c tn Trang trong c t HoTen c a b ng SinhVien Select* from SinhVien where Freetext (Hoten, Trang ); K t qu :
M TS
V D
USE pubs -- Create and populate a table. IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'FulltextTest') DROP TABLE FulltextTest GO CREATE TABLE FulltextTest ( article_id int IDENTITY(100,1) CONSTRAINT PK_title_id PRIMARY KEY, article_title nvarchar(200) ) GO INSERT FulltextTest (article_title) VALUES (N'Steven Buchanan has always enjoyed ice skating.') INSERT FulltextTest (article_title) VALUES (N'Elvis Stoiko: The best male figure skater') INSERT FulltextTest (article_title) VALUES (N'Steven Buchanan On Ice: Skating Reaches Tops in Public Opinion Poll') INSERT FulltextTest (article_title) VALUES (N'Last night, Steven Buchanan skated on the ice!! Skating fans cheer!') INSERT FulltextTest (article_title) VALUES (N'Ice-skating brings out the best in Nhm 11_L p TK6_NE Page 19
Page 21