Lucene Document
-
Upload
vankimchau -
Category
Documents
-
view
58 -
download
5
description
Transcript of 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
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
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
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
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
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
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
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-
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
7/18/2019 Lucene Document
http://slidepdf.com/reader/full/lucene-document 45/58
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
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
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
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
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
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
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
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
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
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
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
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
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