58
 Tìm hiu thư viê    n Lucene va xây dng ng dng Serch Medi ĐỀ CƯƠNG CHI TIT Tên Đề Tài: Tìm hiu thư viê   n Lucene va xây dng ng dng Serch Medi Giáo viên hướng dn:  Nguyn !"n # hi$t%&'i T( n L)    c Thi gian thhi!n: "inh viên thhi!n:  Nguyn Thnh N g%*+,--.*/Tr 0n Thnh 1u2nh%*+,--34 #o$i %tài: 5ây dng ng dng6 N&i '(ng Đề Tài: 7m) t8 chi ti$t n9i dung :; tai/ yêu c0u/ <hư=ng <h>< thc hi?n/ @$t Au8 :Bt :ưCcD )* Ho$h ThHi!n: Stt N)    i dung c)ng viê   c ThEi gin thc h  n Thanh viên thc hiê   n Fii :GBn ,H tìm hiu thư viê   n Lucene ,6 Tì m hi u in dexing trG ng Iuc ene 7Jh<ter -D  Nguyn Thnh Ng -6 Tìm hiu c>c IGBi 1uery hK trC  viê   c erch trGng Iucene .6 Tìm h i u er ch va d v nce er ch trGng Iucene7Jh<ter . va Jh<ter  Nguyn Thnh Ng%*+,--.* , Tr0n Thnh 1u2nh% *+,--34

Lucene Document

Embed Size (px)

DESCRIPTION

Tài liệu dịch Lucene tái bản lần 1 - phiên bản 1

Citation preview

Page 1: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 1/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

ĐỀ CƯƠNG CHI TIẾT

Tên Đề Tài: Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

Giáo viên hướng dẫn: Nguyn !"n #hi$t%&'i T(n L)  c

Thời gian thự hi!n:

"inh viên thự hi!n: Nguyn Thnh Ng%*+,--.*/Tr0n Thnh 1u2nh%*+,--34

#o$i %ề tài: 5ây dng ng dng6

N&i '(ng Đề Tài: 7m) t8 chi ti$t n9i dung :; tai/ yêu c0u/ <hư=ng <h>< thc hi?n/ @$t

Au8 :Bt :ưCcD

)* Ho$h Thự Hi!n:

Stt N)  i dung c)ng viê  c ThEi gin thc hiê  n Thanh viên thchiê  n

Fii :GBn ,H tìm hiểu thư viê  n Lucene

,6 Tìm hiểu indexing trGng Iucene

7Jh<ter -D Nguyn Thnh Ng

-6 Tìm hiểu c>c IGBi 1uery hK trC 

viê  c erch trGng Iucene.6 Tìm hiểu erch va dvnce erch

trGng Iucene7Jh<ter . va Jh<ter 

 Nguyn Thnh Ng%*+,--.* , Tr0n Thnh 1u2nh% *+,--34

Page 2: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 2/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

+D

6 Tìm hiểu c>c )   OnIyPer7Jh<ter 

D Tr0n Thnh 1u2nh+6 Tìm hiểu viê  c chuyển :Qi c>c :Rnh

dBng tBi Iiê  u :ể index va c>c tGGI

:ưCc xây dng hK trC chG Lucene

Fii :GBn -Hxây dng ng dng

-6, Tìm hiểu va dng crIer7rGGtD

46 tìm hiểu rGGt U<ider Tr0n Thnh 1u2nh

V6 Tìm hiểu rGGt WinXttrc@ 

36 Tìm hiểu c>ch crIer trGng

chư=ng trình Nutch

 Nguyn Thnh Ng

Y6 S dng WinXttrc@ :ể thu thâ   <

dZ Iiê  u c>c trng e nghe nhBcH

nhccutui6cGm/vnmuic6cGm[

,*6S dng WinXttrc@ :ể thu thâ   <

dZ Iiê  u c>c trng e dBng <himH

tG<<him6cGm/cIi<6vn

Tr0n Thnh 1u2nh

-6- 5ây dng )   :>nh ch\ mc index

,,6]hân t^ch c>c trng muic :_ crI

va Jai :"  t c>c I`< va ham hK trC

 Nguyn Thnh Ng

 Nguyn Thnh Ng%*+,--.* - Tr0n Thnh 1u2nh% *+,--34

Page 3: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 3/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

viê  c index dZ Iiê  u

,-6]hân t^ch c>c trng videG :_ crI

va Jai :"  t c>c I`< va ham hK trCviê  c index dZ Iiê  u

Tr0n Thnh 1u2nh

-6. xây dng ng dng tìm @i$m

,.6Jai :"  t c>c I`</ham d vaG thư

viê  n Lucene hK trC viê  c erch

trên c>c dZ Iiê  u :_ index

 Nguyn Thnh Ng

,6Thi$t @$ hê   thng c>c trng e hKtrC viê  c tìm @i$m Medi

Tr0n Thnh 1u2nh

,+6Triển @hi ng dng Iên hGt :ể I(y

:>nh gi> tb ngưEi d'ng/ghi nhâ  n

IKi va ix IKi

Tr0n Thnh

1u2nh/Nguyn

Thnh Ng

Fii :GBn .H>G c>G va nâng c(< ng dng

,46Tìm hiểu c>c ai Iuâ  n/c>ch >G

c>G/ cc >G c>G

 Nguyn Thnh Ng

,V6TQng hC< >G c>G <h0n tìm hiểu

thư viê  n Lucene

Tr0n Thnh 1u2nh

,36TQng hC< >G c>G tìm hiểu

crIer7rGGtD va c>c v(n :; g"   <

 <h8i/<hư=ng <h>< gi8i Auy$t

Tr0n Thnh 1u2nh

,Y6&>G c>G index va erch c>c trng

e thu thâ   < :ưCc

 Nguyn Thnh Ng

-*6&>G c>G xây dng ng dng erch Tr0n Thnh 1u2nh

 Nguyn Thnh Ng%*+,--.* . Tr0n Thnh 1u2nh% *+,--34

Page 4: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 4/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

-,6TQng hC< IKi/ghi nhâ  n :>nh gi

 /thc hiê  n IKi va nâng c(< m)  t chc n"ng chG ng dng7xây

dng Fui chG <h0n index/xây dng

thê  m c>c trng e d'ng :ể thng

@ê /xây dng dte Iưu trZ dZ

Iiê  u c0n thi$tD

 Nguyn Thnh

 Ng/Tr0n Thnh1u2nh

Fii :GBn H tQng @$t/:>nh gi>

--6TQng @$t tGan )   Au> trình thc

hiê  n :; tai/I(y :>nh gi>/nhâ  n xt

va @$t thfc

 Nguyn Thnh

 Ng/Tr0n Thnh

1u2nh

+á nh,n -a G.H' Ngà/0 tháng0n120". Thự hi!n

34C #4C

ĐỀ CƯƠNG CHI TIẾT555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556

7h8n 9 : T3 HI;< thư viê   =n #(>n>55555555555555555555555555555555555555555555555555555555555555555555555555?

Chư@ng 9: TANG B<N .Ề HD THENG "FCH FNGINF55555555555555555555555555?,6 J>c 9 <hn c(u thanh h? thng erch engine666666666666666666666666666666666666666666666666666-

,6, &9 thu th< th)ng tin GGt666666666666666666666666666666666666666666666666666666666666666666666666-

,6- &9 I< ch\ mc jndex6666666666666666666666666666666666666666666666666666666666666666666666666666666666-,6. &9 tìm @i$m th)ng tin Serch kngine666666666666666666666666666666666666666666666666666666666.

-6 Nguyên Il hGBt :9ng6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666.

Chư@ng ?: THƯ .I   =N #<CFNF55555555555555555555555555555555555555555555555555555555555555555555555555556

 Nguyn Thnh Ng%*+,--.* Tr0n Thnh 1u2nh% *+,--34

Page 5: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 5/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

,6 Fi`i thi?u thư vi?n LuceneH666666666666666666666666666666666666666666666666666666666666666666666666666666666-6 &9 I< ch\ mc jndexingH666666666666666666666666666666666666666666666666666666666666666666666666666666666V

-6, 1uy trình :>nh ch\ mc666666666666666666666666666666666666666666666666666666666666666666666666666666666V-6,6, JGnvert tG text666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 V

-6,6- OnIyi66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666V-6,6. Wrting index66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666663

-6- J>c tG>n t :>nh ch\ mc c= 8n66666666666666666666666666666666666666666666666666666666666666666663-6. #hu$ch :Bi c>c tai Ii?u va c>c trưEng 7 &GGting Gcument nd ieIdD666 66Y-6 oi;u @hiển ti$n trình :>nh ch\ mc6666666666666666666666666666666666666666666666666666666666666666Y-6+ &)   nh` trGng trGng Au> trình :>nh ch\ mc H OMirectGry666666666666666666666,,-64 Ti ưu hp vi?c :>nh ch\ mc6666666666666666666666666666666666666666666666666666666666666666666666,--6V T^nh :qng thEi/n tGan ti$n tình/ng"n ch"  n c>c thc thi666666666666666666666666666666,-

.6 Serch% Jhc n"ng tìm @i$m @$t Au8H6666666666666666666666666666666666666666666666666666666666666666,.6, &)   chuyển :Qi câu truy v(n c ngưEi d'ng H 1uery]rer6666666666666666666666666,+

.6- J>c tG>n t Iuâ  n I^6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666,4.6. Jm truy v(n7<hre AuerieD6666666666666666666666666666666666666666666666666666666666666666666666,V

.6 S dng I`< jndexSercher6666666666666666666666666666666666666666666666666666666666666666666666666,V.66, Tìm hiểu v; Xit666666666666666666666666666666666666666666666666666666666666666666666666666666666666,3.66- ]hân trng th)ng Au Xit666666666666666666666666666666666666666666666666666666666666666666666,3

.6+ Tìm hiểu v; c>c IGBi 1uery66666666666666666666666666666666666666666666666666666666666666666666666666,Y.6+6, Tìm @i$m theG gi`i hBn H Term1uery6666666666666666666666666666666666666666666666666666,Y.6+6- Tìm @i$m theG d_y Hnge1uery6666666666666666666666666666666666666666666666666666666666,Y.6+6. Tìm @i$m d trên chuKi H]reix1uery6666666666666666666666666666666666666666666666666-*.6+6 #$t hC< c>c truy v(n H &GGIen1uery666666666666666666666666666666666666666666666666666-,

.64 Tìm @i$m theG cmH ]hre1uery666666666666666666666666666666666666666666666666666666666666666-,.6V Tìm @i$m theG iIdcrdH WiIdcrd1uery6666666666666666666666666666666666666666666666666666--

.63 Tìm @i$m theG nhZng tb ging nhuH uPPy1uery66666666666666666666666666666666666666--6 &9 <hân t^ch OnIyPerH66666666666666666666666666666666666666666666666666666666666666666666666666666666666--

6, sing nIyPer6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666-.6,6, jndexing nIyi6666666666666666666666666666666666666666666666666666666666666666666666666666666666-6,6- 1uery]rer nIyi66666666666666666666666666666666666666666666666666666666666666666666666666666-6,6. ]ring veru nIyi H @hi m9t nIyPer @h)ng <h' hC<6666666666666666666-+

6- OnIyPing the nIyPer66666666666666666666666666666666666666666666666666666666666666666666666666666666-+6-6, Wht in tG@en666666666666666666666666666666666666666666666666666666666666666666666666666666666-+6-6- TG@enStrem uncenGred666666666666666666666666666666666666666666666666666666666666666666666-46-6. !iuIiPing nIyPer6666666666666666666666666666666666666666666666666666666666666666666666666666-36-6 iItering Grder cn e im<GrtntH66666666666666666666666666666666666666666666666666666666666.*

6. sing the uiIt%in nIyPer6666666666666666666666666666666666666666666666666666666666666666666666666.*6.6, StG<OnIyPer6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666.*6.6- StndrdOnIyPer6666666666666666666666666666666666666666666666666666666666666666666666666666666.,

 Nguyn Thnh Ng%*+,--.* + Tr0n Thnh 1u2nh% *+,--34

Page 6: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 6/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

6 eIing ith @eyGrd ieId666666666666666666666666666666666666666666666666666666666666666666666666.,6+ SGund Ii@ew Auerying66666666666666666666666666666666666666666666666666666666666666666666666666666666.-64 SynGnym/ Iie/ nd Grd tht men the me66666666666666666666666666666666666666.-6V Stemming nIyi666666666666666666666666666666666666666666666666666666666666666666666666666666666666666..

63 Lnguge nIyi iue66666666666666666666666666666666666666666666666666666666666666666666666666666..+6 O!ONJk SkOJX TkJXNj1skS66666666666666666666666666666666666666666666666666666666666.46 jndexing MicrGGt WGrd dGcument666666666666666666666666666666666666666666666666666666666666666.

46,6, sing ]j666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666.46,6- sing TextMining6Grg O]j66666666666666666666666666666666666666666666666666666666666666666.

V6 jndexing n T dGcument6666666666666666666666666666666666666666666666666666666666666666666666666666666.+36 jndexing <Iin%text dGcument6666666666666666666666666666666666666666666666666666666666666666666666666.+Y6 Jreting dGcument hndIing rmGr@6666666666666666666666666666666666666666666666666666666.+

Y6, iIeXndIer interce66666666666666666666666666666666666666666666666666666666666666666666666666666666666.4Y6- kxteniGn iIeXndIer666666666666666666666666666666666666666666666666666666666666666666666666666666666.V

Y6. kxteniGniIeXndIer6666666666666666666666666666666666666666666666666666666666666666666666666666666666.VY6 iIejndex <<IictiGn66666666666666666666666666666666666666666666666666666666666666666666666666666666666.3Y6+ sing jndex6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666.3Y64 iIejndexer drc@ nd hG tG extend the [email protected]

,*6 ther text%extrctiGn tGGI6666666666666666666666666666666666666666666666666666666666666666666666666666666.3Gcument%mngement ytem nd ervice6666666666666666666666666666666666666666666666666666666.Y

7h8n ? : 7"ING C33N 'C<3FNT J3T555555555555555555555555555555555555556K

,6 XndIing rich%text dGcument66666666666666666666666666666666666666666666666666666666666666666666666666666*-6 jndexing 5ML666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666,

.6 jndexing m9t ] dGcument66666666666666666666666666666666666666666666666666666666666666666666666666666,6 jndexing n XTML dGcument666666666666666666666666666666666666666666666666666666666666666666666666666,+6 jndexing MicrGGt WGrd dGcument666666666666666666666666666666666666666666666666666666666666666-

+6, sing ]j6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666-+6- sing TextMining6Grg O]j666666666666666666666666666666666666666666666666666666666666666666666666-

46 jndexing n T dGcument6666666666666666666666666666666666666666666666666666666666666666666666666666666.V6 jndexing <Iin%text dGcument6666666666666666666666666666666666666666666666666666666666666666666666666.36 Jreting dGcument hndIing rmGr@6666666666666666666666666666666666666666666666666666666.

36,6, iIeXndIer interce6666666666666666666666666666666666666666666666666666666666666666666666666666.36- kxteniGn iIeXndIer666666666666666666666666666666666666666666666666666666666666666666666666666666666

36. iIejndex <<IictiGn66666666666666666666666666666666666666666666666666666666666666666666666666666666666+36 sing jndex6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666+36+ iIejndexer drc@ nd hG tG extend the rmeGr@666666666666666666666666666+

Y6 ther text%extrctiGn tGGI666666666666666666666666666666666666666666666666666666666666666666666666666666666+Gcument%mngement ytem nd ervice66666666666666666666666666666666666666666666666666666664

 Nguyn Thnh Ng%*+,--.* 4 Tr0n Thnh 1u2nh% *+,--34

Page 7: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 7/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

7h8n L : T#" N' F+TFN"IN"5555555555555555555555555555555555555555555555555555555555555555555556M

,6 ]Iying in Lucene SndGx6666666666666666666666666666666666666666666666666666666666666666666666666666V-6 jntercting ith n index666666666666666666666666666666666666666666666666666666666666666666666666666666666663.6 OnIyPer/ tG@eniPer/ nd TG@eniIter/Gh my6666666666666666666666666666666666666666666666666Y6 Uv eveIG<ment ith Ont nd Lucene66666666666666666666666666666666666666666666666666666666666+*

7h8n 6 : THIẾT )Ế . CI ĐOT555555555555555555555555555555555555555555555555555555555555555555555555555P9

Chư@ng L: TH< THQ7 THRNG TIN5555555555555555555555555555555555555555555555555555555555555555555P9Chư@ng 6: S/ dựng UV   = %ánh hW 2X ind>S55555555555555555555555555555555555555555555555555555555P9Chư@ng P: S/ dựng Yng dXng Z>a[h555555555555555555555555555555555555555555555555555555555555555555P9Chư@ng \: C]C 3'<#F ^7C)GF^ #_7 CH`NH C CHƯƠNG TNH5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555P?

7h8n P : )ẾT B<b^ Đ]NH GI] . HƯ_NG 7H]T TI;N5555555555555555555555555555555P?ONX SJX JJ &zNF6666666666666666666666666666666666666666666666666666666666666666666666666666666666+-ONX SJX JJ X{NX !|66666666666666666666666666666666666666666666666666666666666666666666666666666+-T}j Lj~s TXOM #Xz6666666666666666666666666666666666666666666666666666666666666666666666666666666666666+-

j6 S>ch/ eGG@H666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666+-jj6 Lun v"n/ Iun >n666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666+-jjj6 &ai >G666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666+-j!6 Weite66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666+-

 Nguyn Thnh Ng%*+,--.* V Tr0n Thnh 1u2nh% *+,--34

Page 8: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 8/58

Tìm hiểu v; Serch kngine va xây dng ng dng minh hGB chG Serch kngine ti$ng !i?t

3c Đ<

TrGng thEi :Bi ngay ny/ th)ng tin Ia nhu c0u thi$t y$u :i v`i m•i ngưEi trên

m•i I€nh vc6 MKi <hft tr)i Au hang tri?u tri?u trng e :ưCc :y Iên nh‚m Iam giau

nguqn tai nguyên v) tn nay6 Tuy nhiên tqn tBi m9t nghRch Il Ia d' :ưCc v^ như thư

vi?n tGan c0u/ internet vƒn @h)ng thG8 m_n nhu c0u th)ng tin c cGn ngưEi6 5ung

Aunh v(n :; nay cp nhi;u nguyên nhân nhưng Aun tr•ng nh(t Ia th)ng hiểu giZ

cGn ngưEi va c)ng c tìm @i$m trên mBng erch engine chư :Bt :$n mc cp thể

giG ti$< tt v`i nhu6

X=n nZ/ mKi erch engine „ mng :…c th' c ng)n ngZ ma np hiển thR như

erch engine Ti$ng !i?t <h8i gi8i Auy$t nhZng v(n :; :…c trưng c Ti$ng !i?t/ c thể

Ia v(n :; 8ng m_/ ngZ <h>< trGng Ti$ng !i?t6

 N$u t hiểu c>ch thc erch engine tQ chc th)ng tin/ thc thi m9t câu truy v(n

va :…c trưng c ng)n ngZ ma erch engine „ ti$< cn thì t cp thể ti ưu hG> c= h9i

nhn :ưCc c>c th)ng tin hZu ^ch6 oây Ia mc tiêu ch^nh c Iun v"n6

Lê Thul Ng•c % **,-V+ , oK M† Nhung % **,-4-

Page 9: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 9/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

7h8n 9 : T3 HI;< THƯ .I   =N #<CFNF

Chư@ng 9: TANG B<N .Ề HD THENG "FCH FNGINF

95 Cá U& eh,n f( thành h! thng Z>a[h >ngin>

959 & th( th,e thVng tin oUot

GGt Ia m9t chư=ng trình t :9ng duy?t Au c>c c(u trfc iêu Iiên @$t :ể thu

th< tai Ii?u ‡ m9t c>ch :? Auy np nhn v; t(t c8 tai Ii?u cp Iiên @$t v`i tai Ii?u nay6GGt :ưCc i$t :$n dư`i nhi;u tên g•i @h>c nhu H <ider/ e nderer hG…c

e Grm/[ NhZng tên g•i nay :)i @hi gây nh0m Iƒn/ như tb ˆ<ider/ ˆnderer Iam

ngưEi t ngh€ r‚ng rGGt t np di chuyển va tb ˆGrm Iam ngưEi t Iiên tư‰ng :$n

viru6 !; 8n ch(t rGGt ch\ Ia m9t chư=ng trình duy?t va thu th< th)ng tin tb c>c ite

theG :fng giG thc e6 NhZng trình duy?t th)ng thưEng @h)ng :ưCc xem Ia rGGt dG

thi$u t^nh ch :9ng/ chfng ch\ duy?t e @hi cp t>c :9ng c cGn ngưEi6

95? & j,e hW 2X Ind>S

X? thng I< ch\ mc hy cŠn g•i Ia h? thng <hân t^ch va x Il dZ Ii?u/ thc

hi?n vi?c <hân t^ch/ tr^ch ch•n nhZng th)ng tin c0n thi$t 7thưEng Ia c>c tb :=n / tb

gh< / cm tb Aun tr•ngD tb nhZng dZ Ii?u ma rGGt thu th< :ưCc va tQ chc thanh c= ‰ dZ Ii?u riêng :ể cp thể tìm @i$m trên :p m9t c>ch nhnh chpng/ hi?u Au86 X? thng

ch\ mc Ia dnh >ch c>c tb @hG>/ ch\ r‹ c>c tb @hG> naG xu(t hi?n ‰ trng naG/ :R ch\

naG6

 Nguyn Thnh Ng%*+,--.* - Tr0n Thnh 1u2nh% *+,--34

Page 10: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 10/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

95L & tk2 li*2 thVng tin ">a[h Fngin>

Serch engine Ia cm tb d'ng ch\ tGan 9 h? thng G gqm 9 thu th< th)ng

tin/ 9 I< ch\ mc ‡ 9 tìm @i$m th)ng tin6 J>c 9 nay hGBt :9ng Iiên tc tb Ifc @h‰i:9ng h? thng/ chfng <h thu9c Iƒn nhu v; m…t dZ Ii?u nhưng :9c I< v`i nhu v;

m…t hGBt :9ng6Serch engine tư=ng t>c v`i uer th)ng Au giG di?n e/ cp nhi?m v ti$<

nhn ‡ tr8 v; nhZng tai Ii?u thG8 yêu c0u c uer6 Npi n)m n/ tìm @i$m tb Ia tìm @i$m c>c trng ma nhZng tb trGng câu truy v(n

7AueryD xu(t hi?n nhi;u nh(t/ ngGBi trb tG<Grd 7c>c tb Au> th)ng dng như mBG tb /

n/ the/[D6 M9t tb cang xu(t hi?n nhi;u trGng m9t trng thì trng :p cang :ưCc ch•n

:ể tr8 v; chG ngưEi d'ng6 !a m9t trng ch t(t c8 c>c tb trGng câu truy v(n thì tt h=n

Ia m9t trng @h)ng ch m9t hG…c m9t tb6 Ngay ny/ h0u h$t c>c erch engine :;u

hK trC chc n"ng tìm c= 8n va nâng cG/ tìm tb :=n/ tb gh</ cm tb/ dnh tb riêng/

hy gi`i hBn <hBm vi tìm @i$m như trên :; mc/ tiêu :;/ :GBn v"n 8n gi`i thi?u v;

trng e/[66 NgGai chi$n IưCc tìm ch^nh x>c theG tb @hG>/ c>c erch engine cŠn c gŒng ˆ

hiểu ˆ l ngh€ thc c câu hi th)ng Au nhZng câu chZ dG ngưEi d'ng cung c(<6

oi;u nay :ưCc thể hi?n Au chc n"ng IKi ch^nh t8/ tìm c8 nhZng hình thc i$n

:Qi @h>c nhu c m9t tb6 !^ d H erch engine „ tìm nhZng tb như <e@er/ <e@ing/

<G@e @hi ngưEi d'ng nh< vaG tb <e@6

?5 Ng(/ên jm ho$t %&ng

Serch engine :i;u @hiển rGGt :i thu th< th)ng tin trên mBng th)ng Au c>c

iêu Iiên @$t 7 hy<erIin@ D6 #hi rGGt <h>t hi?n r m9t ite m`i/ np g‰i tai Ii?u 7e

 <geD v; chG erver ch^nh :ể tBG c= ‰ dZ Ii?u ch\ mc <hc v chG nhu c0u tìm @i$m

th)ng tin6

 Nguyn Thnh Ng%*+,--.* . Tr0n Thnh 1u2nh% *+,--34

Page 11: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 11/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

&‰i vì th)ng tin trên mBng Iu)n thy :Qi nên rGGt <h8i Iiên tc c< nht c>c ite

cŽ6 Mt :9 c< nht <h thu9c vaG tbng h? thng erch engine6 #hi erch engine

nhn câu truy v(n tb uer/ np „ ti$n hanh <hân t^ch/ tìm trGng c= ‰ dZ Ii?u ch\ mc ‡

tr8 v; nhZng tai Ii?u thG8 yêu c0u6

Chư@ng ?: THƯ .I   =N #<CFNF

95 Giới thi!( thư vi!n #(>n>:

% T>c gi8 H :ưCc @h‰i xư`ng ‰i Gug Jutting

7htt<Hen6i@i<edi6Grgi@iGugJutting D va tr‰ thanh m9t trGng nhZng 8n <hm ch(t IưCng cG c O<che GundtiGn th>ng Y%-**,6

% SGurce cGde H htt<H6mnning6cGmhtcher- 6% M9t vai ng dng erch trên <che H htt<Hi@i6<che6Grg‘@rt%

Iucene]Gered&y 6

 Nguyn Thnh Ng%*+,--.* Tr0n Thnh 1u2nh% *+,--34

Page 12: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 12/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

% LRch <h>t triển LuceneH

Lucene Ia m9t thư vi?n m_ nguqn m‰/ :ưCc <h>t triển ‰i Gugh Jutting 7hi?n:ng Iam vi?c chG ’hGGD6 Thư vi?n nay cung c(< c>c ham c= 8n hK trC chG vi?c :>nh

ch\ mc va tìm @i$m th)ng Au c>c ham O]j6 Lucene cp thể index va erch c>c IGBi

dZ Ii?u naG cp thể thể hi?n :ưCc th)ng tin như H dGc/ <d/ htmI [ Tb thư vi?n Lucene

nay/ cp nhi;u @Rch 8n dng u H6 'ng Lucene t^ch hC< vaG ng dng hi?n cp6 Mun <h>t triển m9t emntic

videG erch engine/ trGng :p :_ cp dZ Ii?u v"n 8n Ia c>c trncri<t va

mun cp m9t c)ng c hK trC chG vi?c tìm @i$m d trên v"n 8n6 &‚ng c>chnay/ ngưEi d'ng cp thể g‹ vaG tb @hp ]reident &uh :ể tìm c>c videG

trncri<t cp npi v; ]reident &uh6 S dng c>c ham trGng thư vi?n Lucene

Iiên Aun :$n vi?c :>nh ch\ mc va tìm @i$m/ t cp thể thc hi?n thG t>c

nay @h> d dang6 6 5ây dng m9t erch engine riêng6 Lfc nay c0n <h8i cp m9t e crIer

chuyên :i thu th< c>c trng e trên jnternet/ :ể :em v; :>nh ch\ mc va

chG <h< tìm @i$m6 “ng dng @iểu nay cp thể th(y tư=ng t ‰ trng

6GmGi6cGm6 TrGng ng dng nay/ e crIer „ :ưCc d'ng :ể :i

thu th< c>c tin tb c>c eite 7ch y$u Ia tin tc/ v^ d vnex<re/

tuGitre6cGm6vn/ nId6cGm6vn/ etcD/ u :p ti$n hanh <hân IGBi/ I< ch\ mc :ể

 Nguyn Thnh Ng%*+,--.* + Tr0n Thnh 1u2nh% *+,--34

Page 13: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 13/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

hK trC tìm @i$m6 TrGng trưEng hC< c0n e crIer/ Nutch Ia m9t <h0n

m;m m_ nguqn m‰ cp thể d'ng / cŽng dG ch^nh t>c gi8 c Lucene Ia

Gugh Jutting <h>t triển6 oể cp thể ti$n hanh thu th< va Iưu trZ hang tri?u

trng e m9t c>ch cp hi?u Au8 ‰ nhi;u m>y @h>c nhu/ XdGG< dng

c)ng ngh? c FGGgIeS cp thể :ưCc t^ch hC< c'ng6 &ên cBnh :p SGIr/ m9t

 <h0n m;m m_ nguqn m‰ d'ng chG xây dng c>c erch erver/ cung c(<

giG di?n ‚ng e v`i ngưEi dng cŽng :ưCc xây dng d trên thư

vi?n Lucene6Lucene n :0u :ưCc vi$t hGan tGan ‚ng Uv6 Su :p :ưCc <Grt Au c>c ng)n

ngZ @h>c v^ d như J/ J”” 7 JLuceneD/ 6NkT 7Lucene6NkT D/ ]erI 7]IuceneD/ uy

7 erretD va :…c i?t Ia ]X] 7end rmeGr@ D6

S= :q thể hi?n mi tư=ng t>c c m9t ng dng dng Lucene6

 Nguyn Thnh Ng%*+,--.* 4 Tr0n Thnh 1u2nh% *+,--34

Page 14: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 14/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

?5 & j,e hW 2X Ind>Sing:

?59 B(/ t[knh %ánh hW 2X

?5959 Conv>[t to t>St

oể ti$n hanh index :ưCc trGng Lucene/thì trư`c h$t t <h8i chuyển :Qi dZ Ii?u

thanh dBng v"n 8n thu0n tfy7<Iin text/như iIe 6txt ch–ng hBnD6oi;u nay Ia Aun

tr•ng/‰i vì dZ Ii?u :ưCc Iưu trZ dư`i nhi;u dBng iIe @h>c nhu

7<d/Grd/exceI/<Ger<Gint/htmI[D/trGng @hi :p Lucene ch\ hK trC Bn index c>c ieId

dBng String / te hG…c :i tưCng eder ma th)i6

?595? naj/ZiZ

MKi @hi Bn chun R chG vi?c index va tBG r :i tưCng Gcument v`i c>c ieId/

thì Lucene „ <hân t^ch dZ Ii?u nay G chG <h' hC< nh(t v`i vi?c index6oể Iam :i;u

 Nguyn Thnh Ng%*+,--.* V Tr0n Thnh 1u2nh% *+,--34

Page 15: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 15/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

nay/Lucene „ <hân chi dZ Ii?u thanh c>c chuKi hG…c Ia c>c @^ t th)ng Au vi?c I

ch•n c>c tG>n t thc thi trên chfng6Jh–ng hBn như vi?c Bn <hân t^ch thanh c>c @^ t

thưEng/hG…c :i c>c tb ngZ @h)ng cp ngh€[Jhi ti$t v; vi?c <hân t^ch c'ng c>c I`<

O]j „ :ưCc :; c< :$n trGng Jhư=ng

?595L [ting ind>S

Su @hi dZ Ii?u :ưCc <hân t^ch /np „ —n ng chG vi?c index6Lucene „ ch dZ Ii?u

nay theG c(u trfc inverted index7ch\ mc cp thể nghRch :8G D6J(u trfc nay „ cp hi?u

Au8 :ể ti$t @i?m dung IưCng Q :€ va chG <h< tìm @i$m nhnh h=n c>c tb @hp trGng

Au> trình erch6Nguyên tŒc c np Ia thy vì <h8i tìm @i$m c>c tb naG ch trGng tai

Ii?u :p thì v`i c(u trfc nay „ ti ưu hp vi?c tìm r câu tr8 IEi tai Ii?u naG ch tb

@hp nayw6

?5? Cá toán t %ánh hW 2X @ Upn

Lucene hK trC c>c tG>n t gif< thc hiê  n viê  c :>nh ch\ mc nhưH

• Thêm tai Iiê  u m`i 7GcumentD c'ng c>c trưEng 7ieIdDH

#eyGr@/snjndexed/snStGred va Text6TrGng mKi tai Iiê  u IBi cp thể cp ch

nhi;u ieId c'ng tqn tBi/va trGng mKi ieId IBi cp thêm nhi;u gi> trR @h>c nhu• 5p tai Iiê  u r @hi ch\ mc H 7emGve Gcument DS dng I`< jndexeder

v`i <hư=ng thc deIete 7D t cp thể d dang xp tai Iiê  u :ưCc ch\ :Rnh r

@hi ch\ mc6Lucene „ xem như c>c tai Iiê  u nay :ưCc :>nh d(u như Ia „

xp6Tuy nhiên viê  c nay ch\ cp thể thc hiê  n @hi g•i ham cIGe7D6• Xy viê  c xp tai Iiê  u 7sndeIeting GcumentDH Như :_ :; câ   </viê  c thc

xp tai Iiê  u @hi g•i <hư=ng thc cIGe7D c I`< jndexeder6G :p trư=c@hi thc xp tai Iiê  u nay thì ch\ c0n g•i <hư=ng thc undeIeteOII7D c c'ng

I`< jndexeder trư`c :p „ xp :i c>c tai Iiê  u :ưCc :>nh d(u xp 6

 Nguyn Thnh Ng%*+,--.* 3 Tr0n Thnh 1u2nh% *+,--34

Page 16: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 16/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

• Jâ   < nhâ  t tai Iiê  u H Lucene @h)ng hK trC t thc hiê  n viê  c câ   < nhâ  t tai Iiê  u /

thy vaG :p t „ xp tai Iiê  u va u :p thêm IBi tai Iiê  u m`i thy th$6 Jhf l

r‚ng :ể :8m 8G tc :)   thc thi thì tt nh(t viê  c xp va thêm tai Iiê  u m`i

nên thc hiê  n theG @hi/ @h)ng nên xen Iƒn giZ viê  c xp va thêm tai Iiê  u m`i6

?5L )h(*h %$i á tài ji!( và á t[ường q ooZting 'o(2>ntZ

and Ji>jdZr

TrGng Au> trình index @h)ng <h8i t(t c8 c>c tai Iiê  u va trưEng 7Gcument nd

ieIdD cŽng cp :)   ưu tiên như nhu/ g•i Ia :iểm ưu tiên 7ScGreD6 N$u như t cp l :Rnh

Œ< x$< @$t Au8 tr8 v; trGng Au> trình tìm @i$m theG nhưng tiêu ch^ naG :p ch–ng hBnnhư Ia Œ< x$< theG :iểm ưu tiên thì chfng t c0n <h8i GGt tai Iiê  u hG"  c trưEng c0n

Œ< x$<6M"  c :Rnh t(t c8 c>c tBi Iiê  u :;u @h)ng cp GGt hG"  c Ia GGt Ia ,6*6G :p mun thy

:Qi :)   ưu tiên nay t ch\ c0n g•i ham et&GGt7IGtD chG Gcument hG"  c ieId naG :p

ma t mGng mun6o)   ưu tiên 7:)   GGtD cang cG thì tai Iiê  u cang Aun tr•ng va

ngưCc IBi 6

?56 Điề( lhisn ti*n t[knh %ánh hW 2X

!`i c>c ng dng nh thì viê  c index dZ Iiê  u Ia @h)ng I`n/t hGan tGan cp thể m"  c:Rnh index theG cai :"  t c Lucene6Tuy nhiên v`i c>c ng dng I`n/ @hi ma dungIưCng tBi Iiê  u Iên :$n hang triê  u/thì tc :)   index Ia :i;u h$t c Aun tr•ng/ thy vì <h8i m(t hang giE thì cp thể ch\ m(t hang <hft ma th)i6

• oi;u ch\nh viê  c thc thi :>nh ch\ mc H TrGng c>c ng dng :>nh ch\ mc :iển

hình thì trE ngBi ch^nh Ia viê  c ghi ch\ mc xung :€6!ì vâ  y t <h8i :i;u ch\nhIam G chG Lucene t th)ng minhw trGng viê  c :>nh ch\ mc v`i c>c tai Iiê  um`i cŽng như Q ung c>c iIe cp —n6

 Nguyn Thnh Ng%*+,--.* Y Tr0n Thnh 1u2nh% *+,--34

Page 17: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 17/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

 Như t :_ th(y/mKi @hi thêm tai Iiê  u m`i vaG ch\ mc/chfng „ :ưCc @h‰i tBG vaGtrGng )   nh` :ê  m thy vì ghi trc ti$< xung :€6S dng )   nh` :ê  m nay cp nhi;u I^dG va Aun trGng hang :0u vƒn Ia c8i thiê  n tc :)   index6Lucene chG <h< Bn :i;uch\nh c>c thm nay m)  t c>ch d dang6

 Nguyn Thnh Ng%*+,--.* ,* Tr0n Thnh 1u2nh% *+,--34

Page 18: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 18/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

• J>c thm Ho mergectGrH thm chG <h< t :i;u ch\nh IưCng Gcument „ ch

trGng )   nh` trư`c @hi ghi vaG :€ cŽng như Ia G Iâu thì „ tr)  n nhZngegment nay v`i nhu /gi> trR m"  c :inh Ia ,*6oi;u nay cp ngh€ Ia egment trên :€ „ Ia mŽ c ,*6

!^ d gi> trR nay Ia ,* thì cp ngh€ Ia „ tBG r ,* egment/mKi egment cpthể ch ,* Gcument/va @hi egment th ,* :ưCc tBG r thì chfng „:ưCc merge thanh , egment cp @^ch thư`c Ia ,**6 !a c như th$6

o mxMergeGc Hoây Ia thm gi`i hBn IưCng Gcument ti : ch

trGng egment trư`c @hi merger c>c egment v`i nhu6o minMergeGc H tư=ng t như mxMergeGc/Gng np ch\ r cp ti thiểu

 G nhiêu tai Iiê  u ch trGng egment trư`c @hi merge c>c egment IBiv`i nhu

 Nguyn Thnh Ng%*+,--.* ,, Tr0n Thnh 1u2nh% *+,--34

Page 19: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 19/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

 Như vâ  y/t th(y r‚ngH n$u t"ng gi> trR mergectGr thì Lucene „ dng nhi;u )   nh` ch^nh h=n nhưng mâ  t :)   ghi xung :€ IBi ^t thưEng xuyên h=n/oi;u nay „t"ng tc :)   ti$n trình index 6Tuy nhiên np „ tBG r nhi;u iIe index h=n va IBi Iam 8nhhư‰ng t`i viê  c tìm @i$m v; u/@hi <h8i truy xu(t nhi;u iIe trGng thư mcindex6mxMergeGc cang cG thì th^ch hC< chG c>c dZ Iiê  u @hi h=n6Tpm IBi mergectGr va mxMergeGc cang cp gi> trR I`n thì tc :)   index „cG/Gng :bng Au> IBm dng vì cp thể 8nh hư‰ng t`i viê  c tìm @i$m6

?5P V   = nhớ t[ong t[ong (á t[knh %ánh hW 2X : 3'i[>to[/

 Như :_ :; câ   </Lucene Iưu Gcument m`i vb thêm vaG trGng )   :ê  m uertrư`c @hi ghi xung :€6M"  c :Rnh Lucene „ dng I`< SirectGry% m)  t I`< cai :"  tc irectGry6tuy nhiên n$u t mun @iểm G>t tt h=n viê  c dng )    nh` va mâ  t

:)   ghi xung :€ thì OMirectGry Ia m)  t thy th$6SirectGry Iam viê  c trc ti$< trên :€ cng/trGng @hi :p OMirectGry thc thi

trGng )   nh` ch^nh vì th$ ma tc :)   „ nhnh h=n6Tb :ây t cp thể ngh€ ngy t`i viê  c dng @$t hC< giZ hi I`< trên :ể c8i thiê  n tc :)   index6 dng OMirectGrynhư )   :ê  m Iưu giZ tai Iiê  u m`i thêm vaG t`i m)  t IưCng nh(t :Rnh/u :p :yxung chG I`< SirectGry thưc thi ghi xung :€6

?5\ Ti ư( hua vi! %ánh hW 2X

!iê  c ti ưu hp ti$n trình :>nh ch\ mc Ia ti$n trình tr)  n nhi;u iIe ch\ mc IBi v`inhu :ể gi8m thiểu thEi gin :•c ch\ mc trGng Au> trình tìm @i$m6&‚ng viê  c dngO]j c Iucene ma c thể Ia ham G<timiPe7D c :i tưCng jndexWriter t cp thể ddang ti ưu :iêu nay6Tuy nhiên viê  c Iam nay ch\ cp hiê  u Au8 t"ng tc :)   tìm @i$m trênch\ mc :_ cp/ma @h)ng cp t>c :)  ng t`i tc :)   :>nh ch\ mc6

?5M Tnh %wng thời^an toàn ti*n tknh^ng1n h1   =n á thự thi

• J>c Iuâ  t :qng thEi H Lucene cung c(< chG t nhi;u tG>n t Iiên Aun t`i viê  c

:>nh ch\ mc tai Iiê  u như H xp/câ   < nhâ  t6G :p trGng Au> trình thc hiê  nchfng t <h8i tuân theG m)  t Iuâ  t c thể :ể tr>nh viê  c :ng :)   trGng Au>trình thc thi6oi;u nay Ia c(n thi$t @hi ma cp nhi;u thc thi din r m)  t c>ch

 Nguyn Thnh Ng%*+,--.* ,- Tr0n Thnh 1u2nh% *+,--34

Page 20: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 20/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

thưEng xuyên trư`c nhZng yêu c0u g‰i tb e t`i ng dng c Bn6Su :ây Iam)  t Iuâ  t c= 8n H

o &(t @ì tG>n t ch\ :•c naG cŽng cp thể thc thi :qng thEi/Jh–ng hBn Ia

nhi;u ti$n trình cp thể tìm @i$m c'ng m)  t ch\ mc tBi m)  t thEi :iểmo &(t @ì tG>n t ch\ :•c naG cŽng cp thể thc thi :qng thEi trGng @hi m)  t

ch\ mc naG :p :ng :ưCc câ   < nhâ  t6!^ dH ngưEi d'ng cp thể tìm @i$mtrGng ch\ mc trGng @hi np :ng :ưCc câ   < nhâ  t/thêm tai Iiê  u m`i hG"  cIa :ưCc xp @hi ch\ mc

o Jh\ cp duy nh(t , tG>n t câ   < nhâ  t ch\ mc cp thể thc thi tBi m)  t thEi

:iểm6M)  t ch\ mc ch\ cp thể :ưCc m‰ ‰i ch\ m)  t :i tưCngjndexWriter hG"  c Ia jndexeder tBi m)  t thEi :iểm ma th)i6

• T^nh n tGan c ti$n trình7thred%etyD HM"  c d' t th(y r‚ng viê  c câ   < nhâ  tch\ mc tBi m)  t thEi :iểm dng nhi;u :i tưCng jndexWriter hG"  c Iajndexeder Ia @h)ng :ưCc <h<6SGng/c'ng m)  t :i tưCng cp thể :ưCc chi „ ‰i nhi;u ti$n trình @h>c nhu va t(t c8 c'ng g•i t`i nhZng <hư=ng thc câ   <nhâ  t ch\ mc „ :ưCc :qng )   hp G chG viê  c thc thi cp t^nh tu0n t6

Lucene Iu)n :8m 8G r‚ng c>c tG>n t câ   < nhâ  t @h)ng :ưCc chqng IŒ< nhu6Jp ngh€Ia trư`c @hi thêm tai Iiê  u m`i vaG ch\ mc/t <h8i :png t(t c8 c>c thể hiê  njndexeder trên c'ng ch\ mc6Tư=ng t/trư`c @hi xp hG"  c câ   < nhâ  t tai Iiê  u trGngch\ mc/t <h8i :png t(t c8 thể hiê  n jndexWriter :ng m‰ trên c'ng ch\ mc6

Su :ây Ia 8ng m) t8 c>c tG>n t cp thể thc thi :qng thEi hy @h)ngH

 Nguyn Thnh Ng%*+,--.* ,. Tr0n Thnh 1u2nh% *+,--34

Page 21: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 21/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

• #hp ch\ mcH nh‚m tr>nh gây r :ng :)   trGng Au> trình dng c>c

ham O]j c Lucene/Thư viê  n nay :_ tBG r c>c iIe IGc@ ên cBnh c>cegment :ể :8m 8G r‚ng viê  c thc thi m)  t chư=ng trình tBi m)  t thEi:iểm6MKi ch\ mc cp m)  t tâ   < c>c iIe IGc@6m"  c nhiên t(t c8 c>c iIe nay:ưCc tBG r trGng thư mc tBm :ưCc x>c :Rnh ‰i thu)  c t^nh ‘v6iG6tm<dir6

Jp hi IGBi iIe IGc@ :ưCc tG rHo iIe Write6IGc@ H :ưCc tBG r trGng Au> trình :>nh ch\ mc tai

Iiê  u6np nh‚m :8m 8G c>c ti$n trình thc thi m)  t c>ch cp tu0n ttrGng Au> trình câ   < nhâ  t ch\ mc6X=n nZ np :ưCc tqn tBi @hi di

tưCng jndexWriter :ng duy trì va giZ chG t`i @hi np :png m`ith)i6 NgGai r np tqn tBi @hi :i tưCng jndexeder :ng :ưCc dng :ể xp/hy viê  c xp/hy cai :"  t c>c mc c trưEng naG:p6np cŠn gif< @hp ch\ mc ma din r Iâu h=n mGng :Ci6

o iIe cGmmit6IGc@ H tBG r trGng Au> trình merge c>c egment6Np

:ưCc d'ng (t @ể @hi naG nhZng egment :ng :ưCc :•c hG"  ctr)  n IBi v`i nhu6Np :ưCc nŒm giZ ‰i :i tưCng jndexedertrư`c @hi np np :•c c>c egment va ch\ gi8i <hpng u @hijndexeder :_ m‰ va :•c c>c egment

!) hiê  u hp t^nh n"ng @hp ch\ mc H nhi;u @hi t c0n v) hiê  u hp t^nhn"ng @hp ch\ mc c Lucene6ch–ng hBn Ia ng dng c0n :•c ch\ mcn‚m trên Q J%M6Jp ngh€ Ia ng dng ch\ ‰ ch$ :)   :•c ma th)i/tcIa ch\ tìm @i$m trên :p ma @h)ng h; cp câ   < nhâ  t ch\ mc6oể v) hiê  u

 Nguyn Thnh Ng%*+,--.* , Tr0n Thnh 1u2nh% *+,--34

Page 22: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 22/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

hp t ch\ c(n thy :Qi thu)  c t^nh diIeLuceneLGc@ thanh true Ia:ưCc6

L5 ">a[hx ChY n1ng tk2 li*2 l*t (p:

Jhư=ng nay „ gi`i thiê  u v; viê  c thêm chc n"ng erch vaG ng dng m)  t @hi:_ cp dZ Iiê  u :_ :ưCc :>nh ch\ mc7indexD6Jhfng t)i „ trình ay m)  t I`< c= 8ntrGng Lucene hK trC Bn viê  c tìm @i$m ma nhpm :_ ng dng/v`i nhZng chc n"ngcG c(< h=n „ :ưCc th8G Iuâ  n ‰ c>c chư=ng u6&8ng u m) t8 c>c I`< ch^nh d'ng :ể erch trGng Lucene O]j H

L59 V   = h(/sn %yi ( t[(/ vfn -a người dzng : B(>[/7a[Z>[

Xi yêu c0u Aun tr•ng trGng ng dng tìm @i$m :Ši hi Ia H chuyển :Qi câu truyv(n va truy xu(t th)ng tin tr8 v;6 X0u h$t c>c <hư=ng thc Lucene :Ši hi :i tưCng1uery6!iê  c chuyển :Qi câu truy v(n Ia viê  c iểu din câu truy v(n c ngưEi d'ngthanh :i tưCng 1uery <h' hC< :ể u :p truy;n vaG ham tìm @i$m c Iucene6Lucenecp thể tìm r @$t Au8 ch\ @hi câu truy v(n truy;n vaG Ia :fng :Rnh dBng c np6 Jh–nghBn như v^ d uH

 Nguyn Thnh Ng%*+,--.* ,+ Tr0n Thnh 1u2nh% *+,--34

Page 23: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 23/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

oể thc hiê  n :ưCc viê  c chuyển :Qi câu truy v(n c ngưEi d'ng/1uery]rerc0n thêm m)  t :i tưCng @h>c g•i Ia )   <hân t^ch OnIyPer%„ :; câ   < trGng chư=ngu6˜ :ây t ch\ c0n i$t Ia t'y vaG viê  c ch•n I )   OnIyPer :ể <hân t^ch chuKitruy;n vaG thì @$t Au8 „ @h>c nhu6oi;u t c0n nh` Ia index d'ng )   OnIyPer naG thì@hi tìm @i$m t nên d'ng IBi )   OnIyPer :p6 Như v^ d trên/ngưEi d'ng truy v(n ‚ng chZ vi$t hG/Gng trGng dZ Iiê  u :>nh ch\ mc:_ Iưu trZ thì IBi Ia chZ thưEng6G :p d'ng Sim<IeOnIyPer :_ dng trGng viê  cindex/ „ chuyển :Qi câu truy v(n thanh chZ thưEng va vì th$ „ tìm r @$t Au8 trGngAu> trình tìm @i$m6

Cá Uis( thY t[(/ vfn -a B(>[/7a[Z>[

L5? Cá toán t j(   =n j 

1uery]rer dng nhi;u tG>n t Iuâ  n I^ :ể thc hiê  n viê  c chuyển :Qi câu truyv(n như H /ON/NT6M"  c :Rnh Ia 6Jh–ng hBn câu truy v(n u H c xyP thì „

 Nguyn Thnh Ng%*+,--.* ,4 Tr0n Thnh 1u2nh% *+,--34

Page 24: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 24/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

:ưCc <hân t^ch thanh Ia c Gr xyP Gr 7c nd xyPD6oể thy :Qi thm m"  c :Rnhnay/t c0n :"  t IBi tG>n t chG :i tưCng 1uery]rer6

 NgGai r t cp thể dng c>c tb vi$t tŒt thy th$ chG c>c tG>n t nay v^ d như 8ng dư`i :âyH

T(t nhiên Ia t hGan tGan cp thể gGm nhpm câu truy v(n IBi v^ d như Ia 7 nd D Gr c[‚ng ngG"  c :=n6#hi :p „ hiểu Ia tìm tai Iiê  u cp ch c8 va hG"  c Ia ch\ cma th)i

!iê  c <hân t^ch câu truy v(n nh‚m mc :^ch tìm @i$m r tai Iiê  u cp ch tb c0ntìm6Tuy nhiên viê  c :>nh ch\ mc din r trên nhi;u trưEng @h>c nhu 7ieIdD6G :p

mun tìm tai Iiê  u ng v`i trưEng naG :_ :>nh ch\ mc thì Bn c0n x>c :Rnh r‹rang6Như v^ d trên Ia tìm trGng trưEng cGntentw c ch\ mc6

L5L CX2 t[(/ vfnqeh[aZ> (>[i>Zr

 NhZng câu truy v(n :ưCc G :png trGng d(u nh>y @< „ tBG r m)  t cm truyv(n6J>c tb trGng d(u nh>y „ :ưCc <hân t^ch/vì th$ @$t Au8 cp thể „ @h)ng ch^nh x>cnhư cm tb n :0u67chư hGan thanhD

L56 " dXng jớe Ind>S">a[h>[

Ti$< theG chfng t „ xem xt t`i I`< jndexSercher c Lecene6Fing như h0u h$tc>c ham O]j @h>c/np r(t d dng6!iê  c @h‰i tBG thể hiê  n jndexSercher thc hiê  n ‚ng c>c thm @h>c nhu

 Nguyn Thnh Ng%*+,--.* ,V Tr0n Thnh 1u2nh% *+,--34

Page 25: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 25/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

• &‚ng irectGry ch dZ Iiê  u :_ index• &‚ng :ưEng dƒn t`i iIe hê   thng

Su @hi tBG r :i tưCng jndexSercher/t „ g•i <hư=ng thc erch :ể thchiê  n viê  c tìm @i$m6Jp <hư=ng thc ch^nh :ể tìm @i$m6SGng t ch y$u dng <hư=ng thc erch71ueryD/tc thm Ia câu truy v(n 1uery

 Như t :_ th(y/c>c <hư=ng thc tìm @i$m nay :;u tr8 v; Ia c>c Xit ch c>cth)ng tin :_ tìm @i$m :ưCc/Su :ây t „ tìm hiểu thêm v; Xit

L5659 Tk2 his( về HitZ

#$t Au8 tr8 v; Ia :i tưCng Xit va :ưCc Œ< x$< theG th t :)   ch^nh x>c6 Th)ngAu :i tưCng nay t cp thể truy xu(t thêm nhi;u th)ng tin v; @$t Au8 tìm @i$m6

Su :ây „ :iểm Au n <hư=ng thc ch^nh c :i tưCng nay/:ưCc Iiê  t @ê dư`i 8ng :ây6

 Nguyn Thnh Ng%*+,--.* ,3 Tr0n Thnh 1u2nh% *+,--34

Page 26: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 26/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

M"  c :Rnh ,** Gcument „ t :)  ng :ưCc @h‰i tBG n :0u va „ :ưCc x Ii 6)   Xit „ t np thêm vaG @hi ngưEi d'ng truy v(n t`i nhZng tai Iiê  u ‰ mc trên6Tuynhiên :iển hình vƒn Ia viê  c xem xt c>c tBi Iiê  u cp :)   ưu tiên cG h=n ma th)i6

L565? 7hn t[ang thVng (a HitZ

]hân trng @$t Au8 tìm @i$m Ia :i;u h$t c c0n thi$t trGng viê  c trình ay @$t Au8tr8 v;6Jp hi hư`ng cai :"  t ch^nhH

• FiZ :i tưCng Xit va jndexSercher trGng @hi ngưEi d'ng chuyển @$t Au8 tìm@i$m

• Thc hiê  n truy v(n IBi mKi @hi ngưEi d'ng chuyển :$n trng m`i

Truy v(n IBi thưEng :ưCc d'ng h=n va Ia gi8i <h>< ti ưu h=n6!iê  c nay :Ši hi <h8i Iưu trZ trBng th>i ngưEi d'ng6TrGng ng dng e/n=i ngưEi d'ng g‹ truy v(n tc0n Iưu IBi chuKi truy v(n n :0u6t cp thể Iưu giZ trGng c>c hidden ieId hG"  c IacGG@ie6va u mKi I0n truy v(n IBi thì <h\ câ   < nhâ  t IBi câu truy v(n c ngưEi d'ng6M)  t :iểm c0n Iưu l Ia m"  c d' viê  c tìm @i$m din r trên thư mc ch dZ Iiê  uindex/Gng :ể t"ng tc :)   tìm @i$m/t nên nB< dZ Iiê  u :•c :ưCc tb index va :y IênOMirectGry6<h0n nay :_ :; câ   < t`i trGng chư=ng trư`c6

L5P Tk2 his( về á jo$i B(>[/

]hư=ng thc erch c :i tưCng jndexSercher :Ši hi thm 1uery6T'y vaGng dng /mc :^ch c câu truy v(n Ia tìm @i$m gì ma t „ cung c(< dBng 1uerytư=ng ng hG"  c Ia @$t hC< t(t c86 TrGng h(u h$t c>c ng dng t dng :i tưCng1uery]rer :ể chuyển :Qi câu truy v(n theG tbng IGBi th^ch hC<6Lucene cung c(< nIGBi 1uery H 1uery]re/&GGIen1uery/nge1uery va Term1uery6 Su :ây t „ tìmhiểu tbng IGBi 1uery va Ifc naG 1uery]re „ chuyển :Qi câu truy v(n thanh dBngnaG6

L5P59 Tk2 li*2 th>o giới h$n : T>[2B(>[/

J>ch tìm @i$m ch^nh trGng ch\ mc Ia tìm trGng gi`i hBn x>c :Rnh naG :p g•i IaTerm6Term Ia m)  t <h0n nh trGng ch\ mc/G gqm tên trưEng7ieId nmeD va gi> trR@™m theG ch–ng hBn như uH

 Nguyn Thnh Ng%*+,--.* ,Y Tr0n Thnh 1u2nh% *+,--34

Page 27: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 27/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

 Như vâ  y Ia t(t c8 c>c @$t Au8 naG cp ch tb @hp ‘vw trGng <h0n cGntentw „

:ưCc tr8 v;6Jhf l r‚ng @iểu chZ ‰ :ây Ia vi$t thưEng „ tr'ng hC< v`i )   <hân t^ch :_d'ng :ể index dZ Iiê  u n$u @h)ng @$t Au8 „ @h)ng ch^nh x>c Npi thêm Ia viê  c dng Term1uery r(t hZu dng @hi Bn c0n tìm @i$m tai Iiê  u theGtb @hp/n$u tai Iiê  u :_ :ưCc index theG dBng Ia ieId6#eyGrd7D6 N$u câu truy v(n ch\ ch m)  t tb thì 1uery]rer „ tBG r Term1uery :ể truy v(n

L5P5? Tk2 li*2 th>o d{/ :ang>B(>[/

TrGng trưEng hC< ma dZ Iiê  u :ưCc index :_ :ưCc Œ< x$< theG th t ging @iểutb :iển/thì viê  c tìm @i$m theG d_y t r hiê  u Au8 h=n c86nge1uery c Lucene chG

 <h< t tìm @i$m nhZng mc n‚m trGng gi`i hBn :0u va cui c d_y c0n tìm6

 N$u iểu thc truy v(n cp dBng Ho šegin tG end› H I(y c>c tai Iiê  u n‚m trGng d_y nayo œegin tG end H I(y c>c tai Iiê  u n‚m ngGai @hG8ng nay

Thì 1uery]re „ @h‰i tBG nge1uery 6

 Nguyn Thnh Ng%*+,--.* -* Tr0n Thnh 1u2nh% *+,--34

Page 28: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 28/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

L5P5L Tk2 li*2 dựa t[ên h(|i :7[>}iSB(>[/

!iê  c tìm @i$m theG @iểu nay „ chG nhZng @$t Au8 ch c>c tai Iiê  u ma Œt :0u ‚ngchuKi x>c :Rnh6c>ch nay thi thG8ng <h>t huy t>c dng trGng ^t trưEng hC< ch–ng hBn

như Ia Bn cp ch\ mc v; dnh mc >ch va t mun tìm @i$m nhZng cun >ch thu)  cdnh mc naG :p6như v^ d uH

 N$u câu truy v(n @$t thfc Ia d(u ž w thì term dBng ]reix1uery „ :ưCc tBG r

L5P56 )*t h~e á t[(/ vfn : ooj>anB(>[/

 NhZng IGBi truy v(n trên cp thể :ưCc @$t hC< IBi v`i nhu ‚ng c>ch ư dng :itưCng &GGIen1uery v`i <hư=ng thc dd 6 J>c truy v(n nay cp thể @$t hC< ‚ng NT/ON hG"  c Ia  

 N$u reAuiredŸ<rGhiitedŸtrueH @$t hC< c>c truy v(n ‚ng tG>n t ON N$u reAuiredŸ<rGhiitedŸIeH @$t hC< c>c truy v(n ‚ng tG>n t   N$u reAuiredŸtrue va <rGhiitedŸIeH @$t hC< c>c truy v(n ‚ng tG>n t NT

 N$u câu truy v(n Ia @$t hC< c nhi;u mc G :png ‰i d(u ngG"  c :=n truy

v(n dBng &GGIen1uery „ :ư=c tBG r

 Nguyn Thnh Ng%*+,--.* -, Tr0n Thnh 1u2nh% *+,--34

Page 29: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 29/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

L5\ Tk2 li*2 th>o X2: 7h[aZ>B(>[/

jndex ch c>c th)ng tin v; vR tr^ giZ c>c tb v`i nhu6]hre1uery dng c>cth)ng tin nay :ể x>c :Rnh c>c tai Iiê  u ch c>c tb cp Aun hê   v`i c>c tb @h>c trGng

c'ng tai Iiê  u 6 Jh–ng hBn/ Bn :ng tìm chuKi uH wthe Auic@ rGn Gx cn ‘um<edGver the IPy dGgw6 N$u @h)ng i$t ch^nh x>c cm truy v(n nay / t „ tìm c>c tai Iiê  uma cp ch c>c tb Auic@w va Gxw g0n nhu6 N$u ch\ dng Term1uery%truy v(ntheG tb :=n thì t @h)ng thể tìm :ưCc tai Iiê  u naG cp hi tb @ể trên g0n nhuT g•i @hG8ng c>ch ti : giZ hi tb Ia IG< va itnce Ia vR tr^ c0n di chuyển ctb :p trGng cm tb c0n tìm G v`i cm tb trGng tai Iiê  u6 #hi :p ]hre1uery „ G >nhgiZ c>c IG< nay :ể chG r @$t Au8 g0n ging nh(t6

L5M Tk2 li*2 th>o •ijda[d: ijda[dB(>[/

oây Ia c>ch tìm @i$m chG nhZng IGBi truy v(n ma thi$u :i m)  t vai tb trGng :p/ch–nghBn như Ia tìm tb @hp GGžw 7:fng r Ia GG@D6(u w cp ngh€ Ia @h)ng cp tb naG hG"  c Ia m)  t tb (t @ì(u žw cp ngh€ Ia @h)ng cp tb naG hG"  c Ia nhi;u tb (t @ì

L5€ Tk2 li*2 th>o nhng t‚ ging nha(: J(ƒƒ/B(>[/

LGBi truy v(n cui c'ng :ưCc :; câ   < t`i Ia uPPy1uery6J>ch truy v(n nay „ xem

nhZng tb tư=ng t nhu Ia m)  t tb6 Lucene dng thuâ  t tG>n v; @hG8ng c>ch tb g•i IaLevenhtein ditnce / chi ti$t cp thể thm @h8G tBi :ây7htt<H6merrim<r@6cGmId6htm D6

T ch\ c0n hiểu r‚ng c>ch t^nh @hG8ng c>ch ‰ :ây @h>c h=n G v`i @hG8ng c>chtrGng IGBi truy v(n ]hre1uery/:p Ia tb c0n thêm6xp :ể i$n m)  t tb thanh tb@h>c6G :p c>c tb tư=ng t nhu ‰ :ây :ưCc xt Ia c>c tb ma xp hay thêm m)  t tb naG :p :ể tr‰ thanh tb @h>c tuy nhiên mc :)   ưu tiên chG c>c tb cp tb c0n thêmvaG hy `t :i Ia ^t h=n6 N$u câu truy v(n @$t thfc Ia d(u w thì truy v(n dBng uPPy1uery „ :ư=c tBG r6

65 & ehn th naj/ƒ>[:

TrGng chư=ng nay nhZng v(n :; :ưCc :…t r va gi8i Auy$tH

 Nguyn Thnh Ng%*+,--.* -- Tr0n Thnh 1u2nh% *+,--34

Page 30: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 30/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

% Tìm hiểu Au> trình <hân t^ch c Lucene6% #h8G >t v(n :; Aun tr•ng :p Ia 1uery]re6% #h8G >t Au> trình d'ng c>c ham c Lucene :ể tBG 9 <hân t^ch theG mc :^ch

riêng6

% !(n :; t^ch hC< c>c ng)n ngZ trGng Lucene6TrGng Lucene / <hân t^ch 7analysisD Ia Au> trình chuyển :Qi c>c ieId v"n 8n v;

dBng trình ay ch\ mc c= 8n nh(t 7termD6J>c term thì :ưCc dng :ể x>c :Rnh r‹tai Ii?u naG „ <h' hC< v`i m9t câu truy v(n trGng Au> trình tìm @i$m6&9 <hân t^ch7analyzer D Ia c>ch npi tpm IưCc Au> trình <hân t^ch 6 OnIyPer <hân t^ch trGng :GBn v"n 8n thanh tokenizes / :p Ia Au> trình rft tr^ch c>c tb/ :i h? thng c>c d(u ch(m câu /chuyển tGan 9 c>c chZ trGng v"n 8n v; dBng chZ thưEng 7 lowercasing  hy cŠn g•i Ianormalizing D/ IGBi c>c tb chung 7common wordsD / gi8m IưCng tb tb v"n 8n :ưvaG 7root form hy cŠn g•i stremming D6 1u> trình nay cŠn :ưCc g•i Iatokenization,chuyển :GBn v"n 8n thanh nhi;u @hfc v"n 8n :ưCc g•i Ia c>ctoken .TG@en :ưCc @$t hC< v`i c>c ieId nme c chfng :ưCc g•i Ia terms 6

Mc :^ch ch^nh c Lucene Ia @$t Au8 cp thể thu hqi :ưCc th)ng tin d dang / vìvy :i;u Aun tr•ng :p Ia Au> trình Iam tinh dZ Ii?u tb dZ Ii?u th) :ư vaG6Su Au>trình tBG r term / term „ Ia nhZng @hi dZ Ii?u :ưCc d'ng :ể tìm @i$m trc ti$<6 !ìvy ch•n 9 <hân t^ch :fng :Œn Ia ct y$u Aun tr•ng c Au> trình <h>t triển <h0nm;m tìm @i$m6 Ng)n ngZ Ia m9t y$u t <h8i :ưCc ngh€ :$n :ể ch•n 9 <hân t^ch/ ‰ivì :;u cp :…c trưng riêng va duy nh(t c tbng ng)n ngZ6 #$ ti$< :p Ia <hBm vi c:GBn text / v^ d tìm @i$m v"n 8n „ cp <hBm vi tìm @i$m @h>c v`i tìm @i$m medi6]h8i Aun tâm :$n c>c y$u t @h>c như c>c thut ngZ/ thanh ngZ/ c>c tb vi$t tŒt tb c>c 9 chZ gh< IBi 7v^ d như NOTHNGrth OtIntic Trety rgniPtiGnD/ [ Lucene Ian;n t8ng :ể cp thể tBG r 9 tìm @i$m theG l mun 6

659 <Zing anaj/ƒ>[Z

1u> trình <hân t^ch din r tBi - n=i H trGng ut Au> trình indexing va @hi dng1uery]rer6!^ d m9t Au> trình <hân t^ch nhpm tbH The Auic@ rGn Gx ‘um<ed Gver the IPydGgw va 5’‡ JGm<GrtiGn xyP¡exm<Ie6cGmw6!`i tbng tG@en :ưCc :ư rgiZ c>c d(u š› :ể tBG <hân chi r‹ rang6 oi;u Aun tr•ng nh(t Ia c>c term indexedthì Ia c>c term cp thể d'ng :ể tìm @i$m6

 Nguyn Thnh Ng%*+,--.* -. Tr0n Thnh 1u2nh% *+,--34

Page 31: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 31/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

Lucene @h)ng tBG r @$t Au8 <hân t^ch cp thể nhn th(y :ưCc :i v`i @h>ch hang 7end user D6 Term :ưCc t>ch r tb :GBn v"n 8n nguyên 8n :ể indexing va tìm <h' hC<trGng ut trGng Au> trình erching6 #hi erching v`i 1uery]rer Au> trình <hân t^chdin r tr‰ IBi :ể :8m 8G @$t Au8 <h' hC< tt nh(t6

65959 Ind>Sing anaj/ZiZ

TrGng ut Au> trình index / m9t OnIyPer :ưCc nŒm giZ tb jndexWriter6!`itbng tG@eniPed ieId c tbng tai Ii?u :ưCc index dng IndexWriter  :ưCc dngnIyPer t'y trưEng hC<6Jp hi IGBi ieId :…c i?t :ưCc dng :ể tBG tG@enniPed Ia

Text va sntGred6 #hi index/ cp thể I ch•n nIyPer Ifc jndexWriter hG…c theG tbngc(< <er%Gcument6

ieId6#eyWGrd indexed ieId @h)ng <h8i Ia tG@eniPed6Np Ia m9t term :=n I¢v`i c>c gi> trR :fng như m9t 9 cung c(<

 Nguyn Thnh Ng%*+,--.* - Tr0n Thnh 1u2nh% *+,--34

Page 32: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 32/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

6595? B(>[/7a[Z>[ anaj/ZiZ

OnIyPer Ia chì @hp :ể term indexed6 !ì vy <h8i c0n chŒc chŒn r‚ng @hi truy v(n <h8i :ư :ưCc ch^nh x>c term indexed hC< trGng tai Ii?u tìm @i$m hC< I?6 #hi dng

ham O]j%creted truy v(n như Ia Term1uery/ ngưEi <h>t triển <h0n m;m c0n <h8i chŒcchŒn :8m 8G r‚ng term :ưCc dng <h8i tư=ng ng @hi :ưCc indexed6 1uery]rer  dng nIyPer :ể cp thể Iam tt nh(t c)ng vi?c tìm term tư=ng ng @hi indexed61uery]rer <hân t^ch chi c>c mƒu c iểu thc @hi dng câu I?nhH

1uery Auery Ÿ 1uery]rer6<re7ex<reiGn/wcGntentw/nIyPerD£&iểu thc G gqm c>c tG>n t/ c>c IGBi d(u ngG…c :=n/ @< / c>c iểu thc cf <h>< :…c i?t @h>c :ể iểu thR x$< IGBi / uPPy erche6

6595L 7a[Zing v>[Z(Z anaj/ZiZ : lhi 2&t anaj/ƒ>[ lhVng ehz h~e

oi;u Aun tr•ng c nIyPer Ia @hi dng ên trGng chG vi?c :>nh d(u thanhtG@eniPed6 J>c tai Ii?u @iểu XTML/ MicrGGt WGrd/ 5ML/[ ch c>c met%dt nhưuthGr/ titIe/ It mGdiied dte/ <GtentiIIy/[ #hi indexing c>c tai Ii?u như @iểu met%dt cp thể R t>ch rEi va :ưCc indexed tBG thanh iIed t>ch rEi nhu6

OnIyPer :ưCc dng :ể <hân t^ch @h)ng thể gif< :ưCc gì chG c>c ieId Rchi cŒt ‰i c>c d_y thì :ưCc th thun v`i c>c ieId :=n tBi m9t thEi :iểm6TrGngnhZng trưEng hC< nay dZ Ii?u c0n :ưCc <red hG…c ti;n x Il / chuyển c>c e<rte IGc@ t>ch rEi :GBn text thanh tbng ieId6

65? naj/ƒing th> anaj/ƒ>[

oi;u Aun tr•ng :ể xây dng m9t 9 nIyPer Ia <h8i i$t r‹ @i$n trfc va xâydng IGc@ <rGvied/ dng Lucene :>nh gi> :fng mc va <h8i hiểu r‹ 9 <hân t^chc Lucene/ <h8i i$t m‰ r9ng va IBi m9t vai chK chư hGan h8G6

OnIyPer Ia I`< c= 8n6TrGng <h0n nay „ npi r‹ v; tbng thanh <h0n ch^nh :ưCc dng ‰i nIyPer/ G gqm c8 TG@en va TG@enStrem 6

65?59 Tol>n jà gk„

M9t trem c tG@en Ia :0u r c= 8n c Au> trình <hân t^ch6 TrGng ut Au> trìnhindexing / ieId :ưCc ch\ :Rnh chG tG@eniPtiGn thì :ưCc x Il v`i nIyPer/ v`i mKitG@en thì :ưCc vi$t r tr‰ thanh index như Ia m9t term6

!^ d / @hi nIyPer :GBn text the Auic@ rGm Gxw6 !`i tbng tG@en trình ayc>c tb riêng i?t c :GBn text6 M9t tG@en mng theG m9t gi> trR c :GBn text va m9t

 Nguyn Thnh Ng%*+,--.* -+ Tr0n Thnh 1u2nh% *+,--34

Page 33: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 33/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

vai gi> trR u @hi dZ Ii?u :ưCc <hân t^ch :p Ia Get c :iểm Œt :0u va @$t thfctrGng :GBn text n :0u/ IGBi tG@en/ :9 t"ng v; vR tr^ 7 position increment)6

Strt et Ia vR tr^ c @l t :0u tiên trGng :GBn text n :0u :ưCc xu(t hi?n trGng vRtr^ Œt :0u c tG@en/ end Get Ia vR tr^ c @l t cui c'ng c tG@en text6 LGBi tG@encp thể Ia m9t String” / m…c :Rnh Ia Word w/ cp thể :i;u ch\nh IBi :ưCc Au> trình I•ctG@en n$u mun6 TrGng :GBn text :ưCc tG@eniPe / vR tr^ Iiên Au :$n tG@en trư`c :p thì:ưCc ghi IBi như gi> trR position increment.

Tol>nZ into t>[2Z : Ia :GBn text u @hi :ưCc nIyPer trGng ut Au> trìnhindexing/ tbng tG@en :ưCc :…t :$n index như m9t term6 ]GitiGn increment thì ch\ :ưCcthêm @$t hC< met%dt v`i tG@en :ưCc mng theG :ể index6 Str Get va end Get IaIGBi tG@en thì R IGBi / chfng ch\ :ưCc dng trGng Au> trình <hân t^ch6

7oZition in[>2>ntZ: La gi> trR ghi IBi t"ng Iên v; vR tr^ c tG@en hi?n tBiv`i tG@en @$ trư`c np6 Th)ng thưEng gi> trR c np Ia ,/ ch\ r v`i tbng tb thì ch\ :ưCcch duy nh(t va vR tr^ @$ ti$< trGng ieId6 !R tr^ nay cp gi> trR I`n h=n , @hi cp m9t @„h‰ / tb tBi vR tr^ :p trGng Au> trình index :_ R IGBi / v^ d tb :p n‚m trGng t< hC<tG<%Grd6 M9t tG@en v`i m9t gi> trR <GitiGn increment Ia * @hi np cp c'ng vR tr^ như

tG@en trư`c np6 OnIyPer xen vaG m9t tb ^ dnh 7word aliasesD665?5? Tol>n"t[>a2Z (n>nZo[>d

Jp - IGBi TG@enStrem @h>c nhu H TG@eniPer va TG@eniIter6 TG@eniPer Ia Iiên @$t cc>c @l t riêng I„ 7charactersD/ TG@eniIter Ia Iiên @$t c c>c tb 7wordsD6TG@eniPer Ia m9t TG@enStrem ma cp tG@eniPe :ư vaG tb m9t eder/ @hi indexingm9t String trGng ieId6Text7String/ StringD hG…c ieId6snStGre7String/ StringD6 JŠn v`iIGBi TG@eniIter thì :ưCc @$t ni c>c TG@enStrem cŠn IBi 6 v`i tbng TG@enStrem thì:ưCc x Il @iểm tr xem Ia TG@eniPer hy Ia TG@eniIter :ể x Il ti$<6 TG@enStrem

:ưCc thi$t @$ như mƒu JGm<Gite trGng eign ]ttern6

 Nguyn Thnh Ng%*+,--.* -4 Tr0n Thnh 1u2nh% *+,--34

Page 34: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 34/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

J>c ham ên trGngH

 Nguyn Thnh Ng%*+,--.* -V Tr0n Thnh 1u2nh% *+,--34

Page 35: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 35/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

Minh h• tQng Au>t/ ‰ :ây trung tâm Ia StG<OnIyPer6

!^ d m9t :GBn cGde trGng StG<OnIyPerH

TrGng StG<OnIyPer nay thì / LGerJeTG@eniPer Ia :0u vaG cung c(< chG StG<iIter6LGerJeTG@eniPer chG r c>c tG@en tb :GBn text n :0u6 J>c @l t @h)ng <h8i IachZ c>i hG…c c>c chZ c>i n‚m trGng StG<%WGrd Iit tr‰ thanh :ưEng iên :ể tBG tG@enva :ưCc IGBi r ngGai6

&uering Ia :…c trưng chung c0n thi$t trGng TG@enStrem :ể np cp thể thc thi:ưCc6 LG%LeveI tG@eniPer :ể uer ch chrcter tb Grm tG@en @hi chi :ưCc ng"n c>ch tBi c>c v'ng iên d vaG hite<ce/ nGnIetter chrcter6

65?5L .iZ(ajiƒing anaj/ƒ>[Z

oi;u Aun tr•ng :ể hiểu :ưCc @h>c nhu c c>c IGBi nIyPer v`i dZ Ii?u:ư vaG6 Jp 9 nIyPer / cp thể th(y :ưCc @h>c nhu @hi dng OnIyPeremG/ trGng ham nay :ư vaG - :GBn text :ể @iểm tr 9 <hân t^ch6 o0u r Ia @$t Au8 u

 Nguyn Thnh Ng%*+,--.* -3 Tr0n Thnh 1u2nh% *+,--34

Page 36: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 36/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

@hi :ưCc <hân t^ch va c>c term :ưCc trình ay t>ch i?t th)ng Au d(u š› / tc Ia @$tAu8 u @hi :ưCc indexing6

Xi :GBn text :ưCc :ư vaG <hân t^chH

#$t Au8H

M9t vai :…c :iểm Aun tr•ng c 9 <hân t^ch cp trGng LuceneH

White<ceOnIyPer @h)ng thc hi?n IGerce7chuyển t(t c8 ng @l tthưEng D / vƒn giZ d(u % / IGBi t(t c8 c>c @hG8ng trŒng/ va d vaG c>c@hG8ng trŒng :ể Iam :ưEng iên <hân chi tG@eniPe6Sim<IeOnIyPer thc hi?n IGerce/ vƒn giZ c>c tb n‚m trGng dnh >ch tG<%

Grd/ d'ng c>c @l t @h)ng <h8i Ia c>c chZ c>i I<hetic :ể Iam :ưEng iên <hân chi tG@eniPe6J8 Sim<IeOnIyPer va StG<OnIyPer :;u Iam hng tên c tên c>c c)ng ty nhưv^ d trên 7xy‡P R r_ r thanh šxy› šP› / IGBi @l hiêu ‡D 6

 Nguyn Thnh Ng%*+,--.* -Y Tr0n Thnh 1u2nh% *+,--34

Page 37: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 37/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

StG<OnIyPer va StndrOnIyPer IGBi c>c tb n‚m trGng StG<%WGrd v^ dnhư thew ‰ v^ d trên6StndrOnIyPer vƒn giZ :ưCc tên c c)ng ty va thc hi?n chc n"ngIGerce / IGBi d(u %w / giZ :ưCc :R ch\ emiI 7 [email protected]

#ooling inZid> tol>nZ TG@enStrem cp thể tBG r c>c tG@en / TG@eniIter cp thểtruy c< dZ met%dt 6 Th)ng Au v^ d u :ể gi8i th^ch chG vi?c truy c< dZ Ii?udt%met

va @$t Au8 :ư rH

 Tol>nxt/e> (Z>}(jn>ZZ Xiển thR tG@en%ty<e :ể tBG riêng i?t trGng tbng IGBi c

tG@en6 !^ d H  @$t Au8 :ư rH

65L " dXng á U& ehn th %ư~ th h~e Z…n t[ong #(>n>

Lucene gqm cp m9t vai 9 <hân t^ch ch^nh như H WhiteS<ceOnIyPer/Sim<IeOnIyPer/ StG<OnIyPer / tndrdOnIyPer va cp hK trC - ng)n ngZ :…c i?t HuinOnIyPer/ FermnOnIyPer6 Tìm hiểu r‹ StG<OnIyPer va StndrdOnIyPertrGng <h0n nay6

65L59 "toenaj/ƒ>[

StG<OnIyPer chi c>c tb c= 8n trGng dZ Ii?u :ư vaG va IGercing / cŠnremGve nhZng tG< Grd6 oư vaG c>c tb kngIih thu9c tG<Grd vaG trGng

 Nguyn Thnh Ng%*+,--.* .* Tr0n Thnh 1u2nh% *+,--34

Page 38: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 38/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

StG<OnIyPer / v^ d như Iit c>c tb H

&9 <hân t^ch u @hi nhn dZ Ii?u :ư vaG/ rft g•n c>c tb chung :ưCc dngtrGng kngIih/ v^ d như dont , cant, its. Trư`c @hi IGBi c>c tb cp trGng tG<%Grd/StG<OnIyPer giZ c>c @l t I0n IưCt v`i nhu/ ng"n chi tBi c>c @l t @h)ng <h8i IachZ c>i G gqm c8 d(u w 7 v^ d như jII D6IGBi c>c @l t như w/ tw :ng riêngI¢/ np cp @h8 n"ng <h>n :G>n :ể IGBi c>c tb v) ngh€6

StG<%Grd @hi IGBi n8y inh m9t v(n :; như H Iam gì v`i nhZng IK hQngu @hi m9t tb :ưCc IGBi Fi8 :Rnh Bn index Gne i nGt enGughw6J>c tG@en

:ưCc tBG r tb StG<OnIyPer Ia šGne› šenGugh› v`i iw va nGtw thì R IGBi 6!ì vy@$t Au8 „ :ư r ch^nh x>c n$u như indexed cp ch dZ Ii?u Gne enGughw6N$u như@hi dZ dng 1uery%]rer v`i StG<OnIyPer/ câu nay „ :ưCc @$t hC< v`i c>c nhpm tbnhư Gne enGughw/wGne i enGughw/wGne ut nGt enGughtw/ wGne i nGt enGughtw6 #hi dng 1uery]rer :ể <hân t^ch câu trên/ @hi câu :ưCc chuyển ng c>c trưEng hC<@h>c nhu va @hi :ư v; trưEng hC< Gne enGughw thì :ưCc mtch v`i term indexde6

#hi IGBi c>c tb thu9c Iit tG<%Grd thì cp thể ngZ ngh€ trGng câu „ R i$n:Qi/ @h8 n"ng nay cp thể R x8y r nhưng cŽng t'y vaG ngZ c8nh ma np ma t0m 8nhhư‰ng „ nh IBi/ <h thu9c vaG vi?c dng Lucene trGng hGan c8nh naG :ể tìm @i$m

l ngh€ c tb trGng chư=ng trình6

65L5? "tanda[dnaj/ĥ>[

StndrdOnIyPer Ia 9 <hân t^ch chung nh(t / n;n t8ng gŒn Ii;n v`i nIyPertrGng Lucene6 TG@eniPing th)ng minh v`i c>c IGBi tb vng/ chZ c>i / vi$t tŒt c c>cchZ :0u dŠng/ tên c)ng ty/ :R ch\ emiI/ tên mi;n / / eriI numer6 j] ddre/ JU#7Jhinee/ U<nee/ #GrenD chrcter6 LGBi c>c tb n‚m trGng tG<Grd / vì vyStndrdOnIyPer thưEng Ia I ch•n :0u tiên6

656 †"o(ndZ jil>‡ (>[/ing

5 Il nhZng tb :qng âm/ @hi ngưEi d'ng tìm @i$m @h)ng ghi :fng tb c0n tìm ma ghiIBi tb :qng âm :ể tìm @i$m 6 !^ d như chuKi @l t :ư vaG :ể tìm @i$m #GGI @tw tc

 Nguyn Thnh Ng%*+,--.* ., Tr0n Thnh 1u2nh% *+,--34

Page 39: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 39/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

Ia h• mun tìm cGGI ctw6 Lucene cŽng hK trC :ể I< trình viên gi8i Auy$t :ưCc trưEnghC< nay6

#$t Au8 :ư r dZ Ii?u theG @iểu Met<hGne kncGder H

Gund%Ii@ew :ưCc thi$t @$ :…c trưng chG erch engine chG tr¢ em r(t hZu dng/ h0u

h$t nhZng Gund%Ii@e :ưCc th(y :;u Ia nhZng tb :ưCc vi$t i ch^nh t8 / vì vy np c0nthi$t chG vi?c tr cu hi l @i$n ngưEi dng hi?u ch\nh IBi tb @hp tìm @i$m @hi c0nthi$t6

65P #ang(ag> anaj/ZiZ iZZ(>Z

!i?c Iiên @$t c>c ng)n ngZ @h>c nhu trGng Lucene Ia m9t :i;u thf vR va cp r(tnhi;u v(n :; <hc tB<6 Lam th$ naG m9t :GBn text v`i c>c ng)n ngZ @h>c nhu :ưCcindex va u :p :ưCc tìm IBi :ưCc vì vy „ cp r(t nhi;u v(n :; ma ngưEi <h>t triển

 <h0n m;m c0n xem xt6aG c8n :0u tiên :p Ia c>c @l t :ưCc m_ hp 7encGdingD / trGng ut Au> trình

 <hân t^ch c>c ng)n ngZ @h>c nhu thì cp t< hC< tG<%Grd @h>c nhu va cp m9t thuttG>n tremming IgGrithm duy nh(t6 Lucene cp hK trC m9t 9 <hân t^ch :ưCc xâydng hK trC chG deveIG<er như TG@eniPer va TG@enStrem cp trGng Snd&Gx6

!(n :; ng)n ngZ c0n :ưCc xem xt trGng Iun v"n :p Ia ng)n ngZ snicGde vaencGding6 Lucene cp ch t(t c8 c>c @l t trGng sT%3 encGding chun/ :p ch^nh Ia:i;u @i?n thun ICi :ể :ư vaG dZ Ii?u encGding chG 9 <hân t^ch6 #hi :•c m9t t< tinXTML hG…c 5ML tb XTT] erver / encGding ch^nh Ia v(n :; g…< <h8i/ c>c @l t <hc

tB< gây @hp @h"n chG Au> trình <hân t^ch6 NgGai ng)n ngZ kngIih / Lucene cŠn hK trC r(t nhi;u ng)n ngZ @h>c chG 9

 <hân t^ch 6!^ d như FermnOnIyPer va uinOnIyPer / ngGai r cŠn cp 9SnGIIOnIyPer hK trC chG h0u h$t c>c ng)n ngZ kurG<en 6 &9 <hân t^ch chG c>cng)n ngZ tưCng hình :iển hình như c>c nư`c H Trung 1uc/ Xan 1uc/ Nht &8n

 Nguyn Thnh Ng%*+,--.* .- Tr0n Thnh 1u2nh% *+,--34

Page 40: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 40/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

7JU# D 6 Jh\ cp duy nh(t StndrdOnIyPer :i @™m trGng 9 OnIyPer Ia hZu dng chGt(t c8 c>c ng)n ngZ châu 6 Tuy nhiên / cp - 9 OnIyPer trGng Lucene SndGx <h'hC< chG c>c ng)n ngZ châu / chfng thì @h)ng :ưCc :^nh @™m trGng cGre Lucene 6

M9t v(n :; :…c i?t nZ c0n Aun tâm :p Ia dZ Ii?u :ư vaG gqm nhi;u ng)nngZ6#hi Bn indexing tai Ii?u ch nhi;u ng)n ngZ tb m9t ingIe index/ dng <er%Gcument nIyPer Ia th^ch hC</ tc Ia d'ng tbng 9 <hân t^ch chG tbng tai Ii?u chGtbng ng)n ngZ6 N$u vƒn <h8i Œt u9c thêm ieId dZ Ii?u : ng)n ngZ/ thì ieId :p c0n dng 9 I•c chG @$t Au8 tìm @i$m / hG…c hiển thR mc :^ch trGng ut Au> trình @h)i <hc

&9 <hân t^ch Ia m9t @h^ cBnh trGng Lucene cp nhi;u v(n :; c0n :ưCc Aun tâmva nK Ic gi8i Auy$t m9t c>ch xng :>ng6S dng StndrtOnIyPer Ia ^ Auy$t :ể d'ngchG Au> trình indexing nIyi chG nhi;u ng dng chung / nhưng :i;u Aun tr•ngtrGng Au> trình <hân t^ch / ngưEi dng cung c(< m9t :GBn text tìm @i$m va thưEng

cp thể „ gây r nhZng @$t Au8 nh0m Iƒn / v^ d @hi tìm @i$m tG e Gr nGt tG ew „@h)ng chG m9t @$t Au8 naG vì trGng Ifc Au> trình nIyPer c>c tb n‚m trGng 9 I•c :_IGBi c>c tb n‚m trGng dnh >ch StG<WGrd6

#hi thy :Qi 9 <hân t^ch thì :i;u Œt u9c <h8i reuiId IBi index va cŽng dng 9 <hân tr^ch m`i chG t(t c8 tai Ii?u :_ :ưCc <hân t^ch trư`c :p6

P5 )ˆ th(,t tk2 li*2 nng ao:

 Như :_ :; câ   </:_ cp nhi;u ng dng cai :"  t chc n"ng tìm @i$m d vaG thưviê  n Lucene O]j6Nhi;u ng dng :_ xây dng :ưCc nhZng )   tìm @i$m hGan thiê  nv`i nhi;u chc n"ng%trGng :p <h8i @ể :$n Nutch c c'ng t>c gi8/va :ể cp thể Iam:ưCc :i;u nay/t c0n tìm hiểu âu h=n nhZng @h8 n"ng @h>c :_ :ưCc xây dng trGngLucene

"‰e S*e l*t (p t[p vềJ>c @$t Au8 tr8 v; :ưCc Œ< x$< theG th t gi8m c :9 ưu tiên 7ScGreD6ngh€ Ia

c>c tai Ii?u naG cp @$t Au8 ch^nh x>c h=n „ xu(t hi?n ‰ :0u6Tuy nhiên v`i nhZng <hư=ng thc chqng 7GverIGdedD c ¢rch t hGan tGan cp thể Œ< x$< theG nhi;uc>ch @h>c /G gqm c8 vi?c Œ< x$< c>c trưEng 7ieIdD t'y thm truy;n vaG6TrGng nhZng trưEng hC< uH t :;u dng <hư=ng thc erch va tr8 r @$t Au8 IacGIIectiGn Xit%ch @$t Au8 :_ :ưCc Œ< x$< 6˜ :ây t ch\ c0n Aun tâm t`i :i tưCngSGrt truy;n vaG ‰ dBng naG ma th)i6

 Nguyn Thnh Ng%*+,--.* .. Tr0n Thnh 1u2nh% *+,--34

Page 41: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 41/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

P59 "‰e S*e th>o %& hnh Sá

oây Ia c>ch Œ< x$< thưEng th(y va Ia m…c :Rnh trGng <hư=ng thc erch 71ueryD c:i tưCng jndexSercher6:ể Œ< x$< theG @iểu nay thm truy;n vaG c SGrt cp thể

Ia

• Serch7Auery/nuIID• Serch7Auery/SGrt6kLk!ONJkD• Serch7Auery/ne SGrt7DD

P5? "‰e S*e th>o %& thY tự %ư~ %ánh hW 2Xqind>S o[d>[r

Th t ch\ mc g•i Ia jd/tc Ia vR tr^ c tai Ii?u :ưCc Iưu trGng ch\ mc t'y vaG IGBi truy

v(n 1uery6chf l r‚ng th t c tai Ii?u trGng ch\ mc @h)ng <h8i Ia :9 ưu tiên%ScGre6SŒ< x$< @iểu nay jd „ :ưCc Œ< t"ng d0n v`i thm H• Serch7Auery/SGrt6jNk5kD

P5L "‰e S*e th>o T[ường qJi>jdr

oể "< x$< theG ieId/t c0n chf l m9t nguyên tŒc IaH

• ieId :p <h8i :ưCc indexed nhưng @h)ng :ưCc tG@ened/ch–ng hBn như Ia

ieId6#eyGrd•

Fi> trR c ieId :p <h8i :ưCc chuyển thanh @iểu jnteger/IGt hG…c IaString/v^ d nhưH

#hi :p/c0n Œ< x$< theG ieId naG t ch\ c0n @h‰i tBG :i tưCng SGrt theG ieId:_ index Ia :ưCc/như v^ d trên t mun Grt theG iPe t c0nH

• Serch7Auery/ne SGrt7iPewDD

P56 Đpo ngư~ thY tự %ánh hW 2X

M…c nhiên/th t :>nh ch\ mc Ia gi8m d0n theG :9 ch^nh x>c/ va t"ng d0n c>c trưEng@h>c6Tuy nhiên t hGan tGan cp thể :8G ngưCc th t nay theG tbng trưEng /ch–ng hBn

 Nguyn Thnh Ng%*+,--.* . Tr0n Thnh 1u2nh% *+,--34

Page 42: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 42/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

v^ d u Œ< theG :9 gi8m c trưEng tên Ia iPew%tc Ia tai Ii?u naG cp iPe I`n h=n „xu(t hi?n ‰ :0u/‚ng c>ch uH

• Serch7Auery/ne SGrt7iPew/trueDD

P5P "‰e S*e th>o nhiề( t[ường lhá nha(q2(jtiej> }i>jdZr

oể thc hi?n vi?c Œ< x$< theG nhi;u trưEng @h>c nhu theG tiêu ch^ naG :p/t dngm9t m8ng SGrtieId va dd c>c ieId c0n Œ< x$< vaG trGng m8ng :p/

TrGng v^ d trên/t Œ< x$< theG :9 gi8m :9 ưu tiên c ieId ctegGryw/:qng thEi n$uc>c cun >ch trGng c'ng ctegGryw :ưCc Œ< gi8m theG n"m xuât 8n6SGrtieId cp thể nhn c>c h‚ng H

SGrtieId ¤ ngh€

jkLSJk @iểu Œ< x$< theG :9 ch^nh x>c

jkLJ SŒ< x$< theG j c tai Ii?u

jkLOsT SŒ< x$< theG th t OI<hte c tên ieId

jkLSTjNF / jkLjNT/jkLLOT

T'y vaG tbng ieId nhn @iểu dZ Ii?u naG mat Œ< x$< theG @iểu tư=ng ng

\5 Ch(/sn %yi á lis( d ji!( lhá nha( về d$ng d ji!( h(ng% ]ring 5ML dng SO5 -6* O]j va U@rt JGmmGn igeter % ]ring ] dGcument v`i ]&Gx% ]ring XTML dng Utidy va Ne@GXTML% ]ring MicrGGt WGrd dGcument v`i U@rt ]j va TextMining6Grg O]j

 Nguyn Thnh Ng%*+,--.* .+ Tr0n Thnh 1u2nh% *+,--34

Page 43: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 43/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

% ]ring T dGcument dng <rer gŒn @™m trGng U# % TBG m9t dGcument indexing rmeGr@ va chư=ng trình ng dng

\59 Handjing [ihxt>St do(2>nt

TrGng <h0n nay „ gif< tBG m9t rmeGr@ nh :ể cp thể dng index m9tdGcument chung nh(t :ưCc tìm th(y trGng m)i trưEng v"n <hŠng hy internet 6

oể tBG m9t GcumentXndIer chung thì dng jn<utStrem :ể Iam :i :0uvaG ‰i vì h0u h$t c>c c)ng c hK trC :ể t>ch <h0n text r tb c>c iIe tai Ii?u :Rnh dBng@h>c nhu :;u :ư r jn<utStrem6 #hi thi hanh thì @$t Au8 tr8 v; „ Ia m9t cIGcument G gqm m9t hG…c nhi;u ieId/ ‰i vì c>c :Rnh dBng @h>c nhu thì :ưCcch trGng c>c met%dât @h>c nhu / v^ d :…c trưng c iIe :Rnh dBng XTML cp titIecŠn 5ML thì @h)ng cp vì vy XTML GcumentXndIer cp thể tr8 r m9t Gcument

v`i m9t ieId Ia titIe nhưng 5ML thì @h)ng cp 6 T(t c8 c>c IKi @hi Il :ưCc thi hanhth)ng Au GcumentXndIerkxce<tiGn 6

#hi tr^ch r :ưCc text th)ng Au <rer tai Ii?u :0u vaG „ :ưCc :ư vaG hang :Ci

:ể indexing chG Lucene Gcument 6 &ư`c indexing thì :qng nh(t chG t(t c8 c>c IGBidGcument / trGng Au> trình nay cp thể x8y r Au> trình tr'ng I…< trGng Au> trình <rer/trưEng hC< nay :_ x Il th)ng Au m9t gpi rmeGrd :ể thêm ieId chung chG t(t c8c>c tai Ii?u @hi c0n 7!^ d nhZng <h0n d tr'ng I…< như H It mGdiieId dte/ iIeytem <th/ sL / [D6

\5? Ind>Sing +3#

o; I(y nhZng mu th)ng tin trGng 5ML dGcument chuyển thanh m9t Lucen

Gcument thì d'ng SO5 O]j hG…c d'ng U@rt JGmmGn iget6 Jhfng t cp thểindex nhZng mu :p :p v`i Lucene6

% ]ring va indexing dng SO5 HJung c(< c>c ham O]j gqm c>c <hư=ng thchK trC :ể g•i x Il c>c @i?n :ể Iam vi?c v`i :Rnh dBng 5ML6 M9t ng dng

 Nguyn Thnh Ng%*+,--.* .4 Tr0n Thnh 1u2nh% *+,--34

Page 44: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 44/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

d'ng SO5 :ưCc <hQ i$n r9ng r_i :p Ia 5erce-Uv ]rer / np :ưCc <h>t triểnd trên n;n O<che 5ML <rG‘ect / :ưCc Iưu trZ tBi trng ehtt<HxmI6<che6Grgxerce-%‘index6htm trên <hiên 8n SO5 O]j -6* 6

% ]ring va indexing dng igeterH igeter :ưCc Iưu trZ tBihtt<H‘@rt6<che6GrgcGmmGndigeter  np Ia m9t u<rG‘ect c U@rtJGmmGn <rG‘ect6

\5L Ind>Sing 2&t '7J do(2>nt

]&Gx thì min <h^ / thư vi?n m_ nguqn m‰ :ưCc vi$t ‰i en LitchieId/ Bncp thể tìm np tBi htt<H6<dGx6Grg 6 Xi?n cp m9t vai c)ng c cp @h8 n"ng rft tr^chcp :GBn text dZ Ii?u tb iIe <d / nhưng ]&Gx thì :ưCc <hQ i$n nh(t6

Fpi Grg6<dGx6erchengine6cGm c ]&Gx ch - I`< jndexieId va

Lucene]Gcument6

\56 Ind>Sing an HT3# do(2>nt

XTML cp ‰ m•i n=i / h0u h$t c>c tai Ii?u e :;u :ưCc Iưu trZ ‰ dBng XTMLJhuyển XTML @h)ng <h8i :=n gi8n vì hi?n tBi cŠn nhi;u eite vƒn @h)ng <h' hC<v`i tiêu chun cui c'ng c W.J chG 5XTML 6Jp thể d'ng Utidy hG…c Ne@GXTML:ể chuyển :Qi :Rnh dBng XTML6

Tidy Ia m9t <hiên 8n cŽ d'ng :ể chuyển :Qi :Rnh dBng XTML :ưCc vi$t ‚ng

ng)n ngZ J ‰i t>c gi8 ve ggett nhưng d >n :_ dbng IBi n"m -***6 Jp thể tìmth(y m_ nguqn m‰ c Tidy tBi htt<Htidy6GurceGrge6net  6 Utidy Ia m9t <Grt c Tidy:ưCc vi$t ‰i Ondy 1uic@ / cp thể tìm tBi htt<H‘tidy6GurceGrge6net  

 Ne@GXTML chuyển :Qi XTML va truy xu(t dZ Ii?u d'ng <hư=ng <h>< dngcân ‚ng tg trGng 5ML chun6 Ne@GXTML Ia m9t <h0n c t< hC< c)ng c Jyer Ne@G chG 5Nj c Ondy JIr@6 Jp thể tìm th(y tBihtt<H6<che6Grgndyne@GdGcindex6htmI 

\5P Ind>Sing a 3i[oZo}t o[d do(2>nt

Xi?n ny 9 GBn th8G MicrGGt WGrd vƒn Ia <h0n m;m :ưCc dng nhi;u nh(ttrGng GBn th8G v"n <hŠng6 !ì vy vi?c thc hi?n indexing :ưCc MS WGrd Ia m9t vi?cthi$t thc c0n <h8i Iam / c0n <h8i i$t c>ch <re tai Ii?u MS WGrd :ể cp thể tìm @i$mv`i Lucene6 Nhưng @hp @h"n nh(t g…< <h8i :p Ia MS WGrd Ia chư=ng trình cp 8n

 Nguyn Thnh Ng%*+,--.* .V Tr0n Thnh 1u2nh% *+,--34

Page 45: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 45/58

Page 46: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 46/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

\5€ C[>ating a do(2>nt handjing }[a2•o[l 

]h0n nay npi v; @$t ni c c>c <h0n <hc tB< @h>c nhu thanh m9t @hithng nh(t / Ia thi hanh <ring c m9t vai :Rnh dBng dZ Ii?u @h>c nhu ‰i m9t

rmGr@ duy nh(t 6J(u trfc gqm cp GcumentXndIe interce va @™m theG np Ia

iIeXndIerkxce<tiGn va np thc thi v`i I`< kxteniGniIeXndIe6 &8ng tpm tŒtrmGr@ cGm<Gnent H

\5€59 Jij>Handj>[ int>[}a>

iIeXndIer Ia m9t interce :=n gi8n ging như Ia GcumentXndIe 6 Tuy nhiên /:iểm @h>c :p Ia GcumentXndIe d'ng ging như jn<utStrem :ể Iam IGBi dZ Ii?u :ưvaG / cŠn iIeXndIer interce :Rnh ngh€ iIe Ia IGBi dZ Ii?u :ư vaG /:i;u :p „ Iamvi?c d dang h=n 6

 Nguyn Thnh Ng%*+,--.* .Y Tr0n Thnh 1u2nh% *+,--34

Page 47: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 47/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

\5€5? FSt>nZion Jij>Handj>[kxteniGniIeXndIer ch\ thc thi v`i iIeXndIer interce va tr8 r m9t LuceneGcument chung 6 iIeXndIer thc thi v`i (t @2 gpi / n$u ngGBi I? „ :ưCc th)ng AuiIeXndIerkxce<tiGn 6kxteniGniIeXndIer ch\ thc thi trGng iIeXndIer interce6 #hi thc thi <hư=ngthc getGcument7iIeD dng <h0n m‰ r9ng c iIe :ể uy r :ưCc IGBi iIe va g•iham thi hanh <rer th^ch hC<6 &‰i vì t(t <h0n thc thi <rer :;u thu9c <h0n chungGcumentXndIer interce/ kxteniGniIeXndIer cp thể dŠ r :ưCc :i tưCng iIe:ư vaG trGng gpi iIejn<utStrem np cp thể i$t :ưCc c0n <h8i x Il như th$ naG

\5€5L Jij>Ind>S>[ d[a•UalZ and ho• to >St>nd th> }[a2>•o[l 

rmeGr@ G cp thể <rer x Il c>c IGBi iIe :ư vaG như H5ML/ ]/ XTML/MicrGGt WGrd/ T / ]Iin text6

 Nguyn Thnh Ng%*+,--.* * Tr0n Thnh 1u2nh% *+,--34

Page 48: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 48/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

 Nhưng n$u c0n index va tBG r iIe cp thể tìm @i$m :ưCc v`i nhZng IGBi iIe marmGr@ @h)ng hK trC thì cp thể m‰ r9ng rmGr@ theG c>c ư`c uH

% !i$t m9t <rer chG IGBi iIe mGng mun va thc thi GcumentXndIer interce

% Thêm cI <rer :$n iIe hndIer6<rG<ertie / >nh xB th^ch hC< v`i <h0n m‰ r9ngc IGBi iIe mGng mun6

% !ƒn dng iIejndexer 6

\5‹ th>[ t>Stx>St[ation toojZ

TrGng <h0n nay t „ th(y hi?n di?n c c>c text :ưCc rft tr^ch r tb / <h0nindexing c c>c IGBi :Rnh dBng dZ Ii?u <hQ i$n nh(t6

 Nguyn Thnh Ng%*+,--.* , Tr0n Thnh 1u2nh% *+,--34

Page 49: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 49/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

7HN ? : THIẾT )Ế . CI ĐOT

 Ng)n ngZ I< trình H Uv/ XTML J)ng c I< trình H Net&en 46+/ remWever JS. We Server H O<che X? Au8n trR JSL H MyAI

Chư@ng 9: TH< THQ7 THRNG TIN

oể xây dng m9t ng dng Serch kngine :0u tiên <h8i c0n cp m9t 9 thu th<th)ng tin :ưCc g•i Ia crIer 7• tìm @i$m / e <ider hy e rGGtD6

95 Giới thi!( C[a•j>[

JrIer Ia chư=ng trình t :9ng tìm @i$m tai nguyên trên internet như trng e / hình8nh / tai Ii?u Grd / <d hy ]Gtcri<t/ chG <h< m>y tìm @i$m :>nh ch\ u :p61u> trình thc hi?n :ưCc g•i Ia We crIing hy <idering/ r(t nhi;u c>c c)ng c tìm

@i$m trên th$ gi`i dng <idering :ể c< nht @hG dZ Ii?u eite c mình6 Jh–nghBn như gGGgIe d'ng np :ể I(y c>c th)ng tin trên c>c eite qi c< nht vaG c= ‰ dZIi?u c np gif< ngưEi d'ng erch r c>c trng theG l mun6 We crIer Ia , IGBi cc>i g•i Ia Uot 7Ia , t>c t thc hi?n t :9ng/ :Bi IGBi ngh€ ging như <iderD6 oBi IGBi/np Œt :0u tb dnh >ch c>c :R ch\ sL :ưCc g•i Ia eed 7hBt gingD6 Np „ vaG c>c:R ch\ nay I•c th)ng tin rqi tìm r c>c :R ch\ sL @h>c thêm chfng vaG dnh >ch c>c:R ch\ :_ duy?t Au g•i Ia [a•j }[onti>[6 Su :p np IBi I…< IBi Au> trình :p duy?t AunhZng sL m`i6 J th$/ c thể np I0n Au r(t nhi;u :R ch\ eite va thu th< r(tnhi;u n9i dung @h>c nhu gif< t d dang tìm @i$m th)ng tin mình c0n6M9t • tìm @i$m <hQ i$n c c>c m>y tìm @i$m H

% FGGgIeGt c FGGgIe% MSN&Gt c MSN% SIur< c ’hGG% ScGGter c OIt !it

 Nguyn Thnh Ng%*+,--.* - Tr0n Thnh 1u2nh% *+,--34

Page 50: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 50/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

% &idu c &idu!ì vy :i;u c0n thi$t :0u tiên :ể tBG nên m9t cK m>y tìm @i$m tuy?t h8G :p Ia cp m9tcrIer th)ng minh va @h8 n"ng c< nht dZ Ii?u nhnh va tt trên m9t @hi IưCng dtrZ cc I`n6Su @hi tìm hiểu m9t crIer m_ nguqn m‰ cp trên mBng tìm :ưCc như US<ider/JrIer c Nutch 6 ’êu c0u hi?n tBi :ể thc hi?n Iun v"n Ia tìm va dng :ưG‘ccrIer cp @h8 n"ng dGnIGd c>c iIe htmI tb c>c eite nhBc :ể I(y :ưCc c>c Iin@medi trGng iIe htmI d'ng :ể indexing chG Serch knginer 6 !ì crIer Ia m9t trGngnhZng y$u t cc @2 Aun tr•ng trGng chi$n IưCc tìm @i$m c c>c m>y tìm @i$m dnhti$ng như FGGgIe/ yhGG / &idu[ vì vy @h8 n"ng d'ng :ưCc crIer c c>c cK m>ytìm @i$m trên Ia @h)ng thể / ma n$u :ưCc thì vi?c index va erch cŽng <h8i <h thu9cvaG crIer thu th< dZ Ii?u 6 Xi?n ny cp r(t nhi;u <h0n m;m v; crIer :ưCc >n cp 8n Auy;n ên cBnh :p c>c <h0n m;m m_ nguqn m‰ cŽng r(t <hGng <hf : dBng :ưCc

gi`i thi?u như O<ee@  / rchnGde6net /t<r@Serch /FNs Wget^ Fs& ^Xeritrix / XTTrc@  /jJL JrIer  / mnGFGSerch / Nutch / ]vu@  / ’Jy 0

?5 C[a•j>[ %{ Z dXng

’êu c0u :ưCc :…t r chG crIer :ưCc dng trGng Iun v"n Ia cp @h8 n"ng t8i :ưCch0u h$t c>c trng c m9t ite medi trên internet v; m>y t^nh cc 9 dư`i dBng iIehtmI / cp @h8 n"ng reum @hi R ngŒt @$t ni dGnIGd giZ chbng/ cp chc n"ng

redGnIGd @hi dZ Ii?u trên trng e R thy :Qi/ cp chc n"ng h¥n giE t :9ng c<nht IBi dZ Ii?u 6 U<ider u @hi tìm hiểu c>c v^ d thì @h)ng th(y @h8 Aun trGng Au>trình tìm @i$m va dGnIGd c>c htmI tb c>c trng e medi như mGG6cGm /nhc36cGm / nhccutui6cGm/ .6nhc6vui6vn/ m<.6Ping6vn/ vnmuic6cGm/ [ M_nguqn m‰ Nutch tìm hiểu thì th(y r(t @hp :ể t>ch riêng dZ Ii?u :ưCc t8i v; Iam dZ Ii?u:ể Iam :0u vaG :ể indexing riêng / r(t nhi;u <h0n m;m cG<y eite :ưCc dngnhưng cŽng @h)ng :>< ng :ưCc yêu c0u trên 6 NgGai r cŠn @h8G >t c>c chư=ng trình@h>c như H WecG<ier/ Wei<<er,6.- ree /  WeiteWtcher6-/WetkxtrctGrde / Nutch/ U<ider / teIe<Gt6<rG6

?59 Cá eh8n 2ề2 hŒe tài ng(/ên •>UZit>

Xi?n ny cp nhi;u chư=ng trình gif< chfng t cp thể t8i v; c8 m9t eite v`ic>c thanh <h0n c np như hình 8nh/ c>c iIe v"n 8n/ c>c iIe htmI66 v^ d <h0n m;m

 Nguyn Thnh Ng%*+,--.* . Tr0n Thnh 1u2nh% *+,--34

Page 51: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 51/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

ecG<ier 7htt<H6mximumGt6cGm  D / ei<<er7htt<HdGnIGd6cnet6cGmWei<<er.***%-*V,%,*+V-+6htmI D /WeiteWtcher7htt<H6IiiGt6cGmree%dGnIGd%veriGn3+-%eitetcher6htmI D/ etkxtrctGr 7htt<Hred% <irnh6GurceGrge6netdGcnetirt<rtnerr<c@extrctGrWetkxtrctGr6htmI D thì @h8 n"ng ch< nguyên c8 eite theG yêu c0u v; m>y IGcI6 oi v`i nhZng trngdin :an thì nhZng chư=ng trình nay cp @h8 n"ng thu th< tt nhưng @hi th dngcrIer nhZng eite medi thì :em IBi @$t Au8 @h)ng @h8 Aun/ r(t d R ngŒt @$tni/ dZ Ii?u thu th< v; r(t ^t nên @h)ng :ưCc dng6

?5? N(th

M_ nguqn m‰H htt<HIucene6<che6Grgnutch 6Xư`ng <h>t triển va tìm @i$m m9t <h0n m;m crIer ti$< theG :p Ia tìm nhZng

 <h0n m;m m_ nguqn m‰ d dng / va cp @h8 n"ng thu th< dZ Ii?u tt v`i c>ceite medi6 ]h0n m;m crIer trGng ng dng Nutch :ưCc <h>t triển ‰i c'ng t>cgi8 c Lucence cŽng Ia <h0n m;m m_ nguqn m‰ 6 o_ d'ng thu th< m9t eitemedi va thu :ưCc IưCng dZ Ii?u I`n nhưng dZ Ii?u :ưCc thu th< v; :_ :ưCc NutchtQ chc Iưu trZ dZ Ii?u d'ng XdGG< dng c)ng ngh? c FGGgIeS/ vì vy Au>trình index va Au> trình erch cŽng &n :0u hư`ng <h>t triển Ia d'ng Nutch nhưngtrGng Au> trình tìm hiểu va <hân t^ch m_ nguqn c Nutch thì th(y thEi gin :ể <hân r_va dng m_ nguqn :p :ể mình vi$t m9t ng dng riêng theG yêu c0u riêng thì „@h)ng Iam @R< trGng @hG8ng thEi gin :_ :…t r chG <h0n tìm hiểu va dngcrIer 6!ì vy/ v; trư`c mŒt c0n tìm m9t crIer @h>c cp thể thu th< dZ Ii?u tt vaXư`ng <h>t triển v; Iâu dai „ dng Nutch :ể vi$t IBi m9t crIer riêng :ể cp thểtBG nhZng chc n"ng theG yêu c0u :…t r theG l mun6

?5L Zeid>[

 M_ nguqn m‰ H htt<H‘%<ider6GurceGrge6net  M_ nguqn m‰ U<ider :ưCc vi$t ‚ng ng)n ngZ ‘v/ @h8 n"ng tìm @i$m dZ Ii?u trên

nhZng eite medi thu :ưCc dZ Ii?u tt nhưng hBn ch$ c chư=ng trình Ia @h)ng hKtrC chc n"ng u<dte va Iưu IBi trBng th>i dGnIGd @hi R ngŒt @$t ni 7 cGntinueinterru<ted dGnIGdD6

 Nguyn Thnh Ng%*+,--.* Tr0n Thnh 1u2nh% *+,--34

Page 52: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 52/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

?56 T>j>eo[t và Htt[al 

XTTrc@ va TeIe<Grt :>< ng :ưCc nhZng yêu c0u :…t r như cp @h8 n"ngdGnIGd nhZng eite medi tt/ cp chc n"ng u<dte/ cp chc n"ng ti$< tc

dGnIGd nhZng <rG‘ect R ngŒt @$t ni giZ chbng/ cp @h8 n"ng Iin@ t`i nhZngeite Iiên Aun 7@h8 n"ng <iderD/ gi`i hBn :Rnh dBng dGnIGd/cp @h8 n"ng t8ieite v; m>y IGcI như m9t <hiên 8n th - v`i c>c trng e :ưCc yêu c0u6

% XTTrc@ H http!""en.wikipedia.org"wiki"#$$rack  #$$rack %&'c gi(i thiu tr*n

wiki , htt<H6httrc@6cGm eite gi`i thi?u v; m_ nguqn 6oây Ia chư=ngtrình m_ nguqn m‰ vi$t ‚ng ng)n ngZ J6

% TeIe<Grt H htt<H6tenmx6cGmteIe<Grt<rGhGme6htm Ia chư=ng trình ch_ng TennyGn MxeII jnGrmtiGn Sytem6

 NhZng yêu c0u c= 8n :…t r c8 - crIer :;u :>< ng tt nhưng TeIe<Grt Ia <h0n m;m

thư=ng mBi nên v; Iâu dai vi?c I ch•n XTTrc@ „ tt h=n6 XTTrc@ Ia <h0n m;mm_ nguqn m‰ vi$t ‚ng ng)n ngZ J cp thể m‰ r9ng c>c chc n"ng @hi c0n thi$t6

L5 Hướng dẫn Z dXng [a•j>[ %{ jựa hŽn HTT[al 

GnIGd <h0n m;m H htt<HdGnIGd6httrc@6cGmhttrc@%.6.%+6exe 6˜ I0n chBy :0u tiên/ XTTrc@ „ yêu c0u thi$t I< ]rGxy va ng)n ngZ ch^nh thc dng trGng chư=ng trình6 Nên # :ể :qng l v`i nhZng hi?u ch\nh m…c :Rnh c np va Œt :0u Au> trình t8i eite mGng mun c mình theG . ư`c như uH

ướ 9: T$o e[o>t 2ới: oể thun ti?n h=n chG ngưEi dng/ XTTrc@ „ Iưu t(t c8 c>c th)ng v; m9t Au>trình t8i eite c0n t8i/ n=i Iưu ite trên m>y t^nh/ cn ruIe666 vaG m9t iIe <rG‘ect cpdBng ž6htt6 !ì vy nên d dang Au8n Il nhi;u t>c v t8i ite @h>c nhu/ m‰ IBi hynâng c(< eite :_ t8i66 Trên c Q c chư=ng trình/ (m Next va nh< tên <rG‘ectvaG @hung ]rG‘ect nme6 Su :p/ ch•n n=i c0n Iưu eite trên m>y ‚ng c>ch (mvaG nft hình d(u c9ng 7”D6 Lưu l/ nên :…t tên <rG‘ect theG :R ch\ eite c0n t8i/ch–ng hBn như m<.6Ping6cGm 76m<.6Ping6cGmD :ể ti?n <hân i?t v`i c>c <rG‘ect@h>c u nay6

˜ mc OctiGn v`i nhZng <rG‘ect :0u tiên :ưCc thi$t I< thì d'ng m9t trGng n"m yêuc0u n :0u H

• GnIGd e ite7D 7MirrGring MGdeD6 Jh y$u d'ng chc n"ng nay6• GnIGd e ite7D ” AuetiGn 7 jnterctive WiPrd MGde AuetiGnD6• Fet e<rted iIe 7 iIe dGnIGdD6

 Nguyn Thnh Ng%*+,--.* + Tr0n Thnh 1u2nh% *+,--34

Page 53: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 53/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

• GnIGd II ite in <ge 7Lin@ Iit MGdeD6• Tet Iin@ in <ge7GG@mr@ tetD 7Lin@ Teting MGdeD6

 Next :ể ti$< tc Au ư`c -6

ướ ?: Thi*t j,e á thVng Z 8n thi*t

oây Ia ư`c Aun tr•ng nh(t trGng tGan 9 thG t>c vì np Auy$t :Rnh eite t8i v; „cp nhZng gì va c>ch thc t8i như th$ naG6o0u tiên/ nh< vaG :R ch\ eite ‰ @hung We Oddree 7sLD/ v^ d như

6m<.6Ping6cGm / hG…c cp thể thêm c>c Iin@ @h>c n$u mun6N$u eite c0n t8i cpyêu c0u :"ng nh< 7LGginD/ (m nft Odd sL va :i;n vaG c>c th)ng c0n thi$t nhưmt m_ va tên tai @hG8n6

 Nguyn Thnh Ng%*+,--.* 4 Tr0n Thnh 1u2nh% *+,--34

Page 54: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 54/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

Su @hi :_ hGan t(t <h0n :R ch\ eite c0n t8i/ Bn h_y (m ti$< vaG nft SetG<tiGn :ể cp thêm m9t hi?u ch\nh @h>c6

• & jŽ %nh d$ng: Như :_ npi ‰ trên/ XTTrc@ chG <h< thi$t I< 9 I•c gif< x>c :Rnh c>c dBng

iIe c0n t8i6 oể thc hi?n :i;u nay thì trên h9< thGBi vb hi?n r/ Bn chuyển Au th¢Scn uIe/ u :p (m ch•n vaG . dBng iIe chG —n c chư=ng trình Ia gi/‘<g/<ng666n$u mun t8i c>c dBng iIe hình 8nh£ Pi</tr/tgP666 v`i dBng iIe nn va mGv/m<g/m<eg666:i v`i c>c iIe <him va nhBc 6 Lưu l Ia cp thể thi$t I< thêm c>c dBng iIe @h>c ‚ngc>ch nh< trc ti$< vaG @hung theG c)ng thc uH

”ž6dBng iIe :ể thêm vaG dBng iIe c0n t8i m`i va %ž6dBng iIe :ể ng"n @h)ngchG XTTrc@ t8i dBng iIe nay6 !^ d như c)ng thc ”ž6<d %ž6txt „ cp ngh€ Ia I(y c>c

 Nguyn Thnh Ng%*+,--.* V Tr0n Thnh 1u2nh% *+,--34

Page 55: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 55/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

iIe <d va c>c iIe txt6

• "eid>[TrGng <h0n hi?u ch\nh G<tiGn cp <h0n <ider :ể Aut c>c trng e cp Iiên @$t

v`i eite hi?n hanh6 ]h0n nay mc tiêu :…t r @h)ng yêu c0u :…t Iên :0u / vì v`i mc:9 c Iun v"n / chi <h^ va thEi gin @h)ng :>< ng :ưCc nhi;u/ vì vy ch\ dGnIGdtrc ti$< c>c eite yêu c0u6

 Nguyn Thnh Ng%*+,--.* 3 Tr0n Thnh 1u2nh% *+,--34

Page 56: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 56/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

TrGng ng dng chG mc :^ch <hc v chG :; tai @hp Iun va trGng gi`i hBn vt ch(tchG <h< nên ch\ dng crIer nhZng eite :ưCc ch\ :Rnh —n / @h)ng thc hi?nchc n"ng <ider6

• [o•Z>[ I':]h0n nay chG <h< ch•n @iểu cGmment trên dZ Ii?u t8i v; hG…c cp thể t tBG r :RnhdBng dZ Ii?u riêng 6

% ¦§%% MirrGred y XTTrc@ Weite JG<ier.6x š5’]¨-***› %%© dZ Ii?u t€nh6% ¦§%% MirrGred rGm ª y XTTrc@ Weite JG<ier.6x š5’]¨-***› %%© ª H

:ưCc ch™n :ưEng Iin@ c trng htmI :ưCc I(y v;6

% ¦§%% MirrGred rGm ªª y XTTrc@ Weite JG<ier.6x š5’]¨-***› %%© Hgqm :ưEng Iin@ va ngay I(y Iin@ 

% [

 Nguyn Thnh Ng%*+,--.* Y Tr0n Thnh 1u2nh% *+,--34

Page 57: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 57/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi

#hi dng :ể I(y dZ Ii?u ch•n @iểu cGmment ¦§%% MirrGred rGm ªª yXTTrc@ Weite JG<ier.6x š5’]¨-***› %%©

• Cá hY n1ng lhá: dng m…c :Rnh6&ư`c .H J>c thG t>c c"n 8n v`i eite :_ t8i

 N$u m•i chuy?n u)n ¢/ „ cp :ưCc eite mGng mun trên m>y t^nh6 J0n i$t Ia@h)ng <h8i eite naG cŽng chG <h< Bn t8i xung vì nhZng Il dG 8G mt6 oể duy?teite vb t8i/ h_y m‰ thư mc :_ Iưu ite va (m :f< chu9t vaG iIe index6htmI6XTTrc@ cŠn cp - thG t>c r(t hZu dng ‰ h9< dnh >ch OctiGn trGng ư`c - ma Bnnên tìm hiểu IaH

•  JGntinue interru<ted dGnIGdH Ti$< tc IBi m9t Au> trình t8i ite n$u

g…< trc tr…c <h8i ngưng giZ chbng6

•  s<dte eixting dGnIGdH oqng 9 hp eite trên m>y t^nh v`ieite tư=ng ng trên jnternet6

J>c ư`c trên Ia nhZng ư`c thc hi?n c(u hình chG chư=ng trình crIer :ể tBG r , <rG‘et thu th< dZ Ii?u trên c>c eite medi 6

 Nguyn Thnh Ng%*+,--.* +* Tr0n Thnh 1u2nh% *+,--34

Page 58: Lucene Document

7/18/2019 Lucene Document

http://slidepdf.com/reader/full/lucene-document 58/58

Tìm hiểu thư viê  n Lucene va xây dng ng dng Serch Medi