B ộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA CƠNG NGHÊ THƠNG TIN
LÝ TRUNG HUY
XÂY DƯNG HỆ THĨNG TÌM KIỂM
SẢN PHẨM THÈO HƯỚNG ĐÁNH GIÁ
CỦA CƠNG ĐỒNG NGƯỜI DÙNG
ĐỒ ÁN TĨT NGHỆP ĐẠI HỌC
NGÀNH CƠNG NGHỆ THƠNG TIN
CÁN B ộ HƯỚNG DẪN
HUỲNH TUẤN ANH
NHA TRANG-2011
Ì1
..............— .................. - .....................................—
i ;
B ộ GỊÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI IIỌC NHA TRANG
---------0O0-----------Số: flệ . ..QĐ/ĐIINT-CNTT
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tụ do - Ilạnh phúc
------—oOo—-— ——
Nha Trang, ngày 28 tháng 02 năm 2011
HIỆU TRƯỞNG TRƯỜNG ĐẠI HỌC NHA TRANG
- Căn cử quy chế về tổ chức đào tạo, kiểm tra , thi và công nhận tốt nghiệp Đại học
và Cao đẳng hệ chính quy ban hành theo quyểt định số 04/1999/QĐ-BGD & Đ T ngày
11/02/1999 của Bộ trưởng Bộ Giáo dục và Đào tạo.
- Căn cứ quy định của Trường Đại học Nha Trang về công tác tốt nghiệp.
QUYẾT ĐỊNH
Điều 1: Nay giao cho Sinh viên:...Ưjf...T.íl\ẢJ\j.6r..At.U.Vf........ MSSV:.ư0Ả3.Q.7y(ỠJ ^
Khóa:... .ly.Ẻ..........Chun ngành:...... XK sng ...X.líon^..TX>^1................................................
Đồ án tốt nghiệp:.....X oa^
.-ÌX.MỈCOC'^ ..c-fi.UA
-Xĩỉiiv- .^ X .-.C u k ... .0ữtaũị. ..NỈ.Cnâị.
3c3jỉi...ỹl.'vwưì ...'rđ£ư_£>.............
.(^ytvj...(d:Qui.fNuinỷ .¿CrữirnuC
N n i rìu n ơ ih irr h i ê n •
..: X*W\ỹuddon. .Ổw^..Cưv.sSC,.LC./ .LvíifiM--.....................................
.A lt <\ũy.
.ctOoA. .
.jys£ . ^Xữỳmn.. (VIc.. .SC.CK.
Nơi thực hiện:..............................................................................................................................
Thời gian thực hiện: Từ ngày 21/02/2011 đến ngày: 06/06/2011
Hoàn thcinh và nộp báo cáo trước ngày 10/06/2011 cho cán bộ hướng dẫn.
Diều 2: Ông, B à...^v^.n^....W ắU .ríW lX \...có nhiệm vụ hưóng dẫn sinh viên thực
hiện Đồ án tốt nghiệp theo quy chế của Bộ và theo quy định sổ 120 TB/ĐT ngày 15/03/2001
của Hiệu trưởng về thực hiện công tác tốt nghiệp.
Trường Bộ mơn.../IXrit\ek^.r^S6iíj5Íì'KỊ.......có trách nhiệm theo dõi, kiểm tra việc
thực hiện cơng tác tốt nghiệp của sinh viên do khoa giao cho Bộ môn quản lý và định kỳ báo
cáo về Trưởng khoa.
Diều 3 : Sinh viên:...l^.T Ữ «A ^..'rt^ị...............phải nghiêm chinh chấp hành nội quy,
quy định cùa Trường và nơi thực tập, khắc phục khó khăn để hồn thành Đồ án đuợc giao.
TL.HIỆU TRƯỞNG
Công nghệ Thông tin
fĩ ẽ M ư -Ún
iv
LỜI CAM ĐOAN VÀ XÁC NHẬN
Tôi - Lý Trung Huy - cam kết đồ án tốt nghiệp này là công trình nghiên cứu của
bản thân tơi dưới sự hướng dẫn của của thầy Huỳnh Tuấn Anh.
Các kết quả nêu trong đồ án tốt nghiệp là trung thực, không phải là sao chép tồn
văn của bất kỳ cơng trình nào khác.
Nha Trang, ngày 31 thảng 5 năm 2011
Tác giả ĐATN
Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của đồ án tốt nghiệp và
cho phép bảo vệ.
Nha Trang, ngày
tháng
năm 2011
Giáo viên hướng dẫn
HUỲNH TUẨN ANH
V
LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn thầy HUỲNH TUẤN ANH, khoa CNTT,
ĐH Nha Trang. Thầy đã tận tình hướng dẫn và định hướng cho em trong quá trình
thực hiện đồ án này.
Em xin bày tỏ lịng biết ơn sâu sắc tới các thầy cơ trường ĐH Nha Trang, đặc biệt là
các thầy cô Khoa CNTT. Các thầy cơ đã tận tình chỉ bảo, giảng dạy cho em rất
nhiều kiến thức và kỹ năng hữu ích trong suốt bốn năm học.
Em cũng xin cảm ơn gia đình, bạn bè, anh chị em đã ln giúp đỡ, động viên và tạo
điều kiện thuận lợi để hoàn thành đồ án này cũng như trong suốt những năm học
vừa qua.
Gửi lời cảm ơn đặc biệt đến bạn Thăng lóp 49™ và anh Đường lớp 47™ - ĐH Nha
Trang đã làm rõ và cung cấp cho tôi những kiến thức cơ bản về JavaScript và Ajax.
Tôi cũng xin chân thành cảm ơn em Lyo lớp 52KD2 - ĐH Nha Trang và em Dung
khoa QTKD - ĐH Bách Khoa Hà Nội đã giúp tơi hồn thành bảng các tiêu chí đánh
giá sản phẩm của cộng đồng người dùng. Chân thành cảm ơn em Tươi lớp 50KD1 ĐH Nha Trang và em Châu khoa Ngân hàng - ĐH Kinh tế TP.HCM đã cung cấp
cho tôi những kiến thức cơ bản về kinh tế, tài chính.
Nha Trang, 5-2011
vi
BĨ CỤC ĐỊ ÁN
Đồ án được chia làm các phần chính sau:
1. Chương 1: Tìm hiểu về các hệ thống tìm kiếm.
Tìm hiểu về lịch sử, mơ hình, đặc điểm các hệ thống tìm kiếm trên Webs, hệ
thống tìm kiếm theo hướng đối tượng.
2. Chương 2: Tìm hiểu cơng cụ SOLR, LUCENE.
Tìm hiểu về mơ hình, đặc điểm, các thức sử dụng cơng cụ tìm kiếm SOLR và
LUCENE.
3. Chương 3: Tìm hiểu về kỹ thuật rút trích thơng tin.
Tìm hiểu về kỹ thuật rút trích thơng tin.
4. Chương 4: Bài tốn tìm kiểm sản phẩm theo hướng đánh giá của cộng đồng
người dùng.
Bài tốn về tìm kiếm sản phẩm theo hướng đánh giá của cộng đồng người sử
dụng. Mơ hình đề xuất để giải quyết bài toán này.
5. Chương 5: Xây dựng hệ thống và các công nghệ được sử dụng.
Trình bày các mơ hình, các module và các bước xây dựng hệ thống. Đề cập
đến các công nghệ được sử dụng để xây dựng hệ thống:
6. Chương 6: Tổng kết.
Kết quả thử nghiệm của hệ thống và đánh giá tổng quan về hệ thống.
vil
MỤC LỤC
LỜI CAM ĐOAN VÀ XÁC NHẬN
iv
LỜI CẢM ƠN
V
BÓ CỤC ĐỒ ÁN
vi
MỤC LỤC
vii
DANH MỤC THUẬT NGỮ VÀ CÁC TỪ VIÉT TẮT
ix
MỞ ĐẦU
X
CHƯƠNG 1. TỎNG QUAN CÁC HỆ THĨNG TÌM KIÉM
1
1.1 Tổng quan về các hệ thống tìm kiếm trên Webs
1
1.1.1 Lịch sử phát triển
1
1.1.2 Đặc điểm của các hệ thống tìm kiểm trên Webs
5
1.2 Các hệ thống tìm kiếm ở Việt Nam
7
1.3 Hệ thống tìm kiếm thơng tin sản phẩm
8
1.3.1 Hệ thống tìm kiểm thơng tin sản phẩm
8
1.3.2 Đánh giá sản phẩm của cộng đồng người dùng
10
CHƯƠNG 2. TÌM HIỂU CÔNG c ụ SOLR, LUCENE
12
2.1 LUCENE
12
2.1.1 Giới thiệu về Lucene
12
2.1.2 Cách sử dụng Lucene
14
2.2 SOLR
17
2.2.1 Giới thiệu về SOLR
17
2.2.2 Hướng dẫn sử dụng SOLR
17
2.2.3 Hướng dẫn sử dụng SOLRNET
19
CHƯƠNG 3. KỸ THUẬT RÚT TRÍCH THƠNG TIN
22
3.1 Khái niệm về trích rút thông tin
22
3.2 Phân biệt giữa IE và IR
22
3.3 Các kịch bản ứng dụng
23
3.3.1 Phân tích tài chính
24
3.3.2 Chiến lược tiếp thị
24
viii
3.3.3 PR
3.4 Các nhiệm vụ chỉnh của IE
24
24
3.4.1 Named Entity recognition
25
3.4.2 Coreference resolution
26
3.4.3 Template Element constraction
27
3.4.4 Template Relation construction
27
3.4.5 Scenario Template production
27
CHƯƠNG 4. BÀI TỐN TÌM KIẾM SẢN PHẨM THEO HƯỚNG ĐÁNH
GIÁ CỦA CỘNG ĐỊNG NGƯỜI DÙNG.
28
4.1 Bài tốn
28
4.2 Sử dụng IE để giải quyết bài toán
30
4.3 Những thách thức của bài tốn
31
4.3.1 Tiếng Việt, tiếng Việt khơng dấu và tiếng Việt biến dạng
32
4.3.2 Thuật toán xử lý tiếng Việt biến dạng
33
4.3.3 Nhiễu khi xây dựng TE
35
CHƯƠNG 5. XÂY DỰNG HỆ THỐNG.
37
5.1 Mơ hình hệ thống
37
5.2 Mơ hình vật lý dữ liệu
39
5.3 Mơ hình IE
40
5.4 Module Spider
42
5.5 Module AjaxCrawler
42
5.6 Thuật tốn tìm kiếm chuỗi
43
5.7 Mơ hình lóp của module chính hệ thống
46
5.8 Xây dựng ứng dụng Client
48
CHƯƠNG 6. THỬ NGHIỆM VÀ ĐÁNH GIÁ
50
6.1 Thử nghiệm
50
6.2 Đánh giá
55
KÉT LUẬN
56
DANH MỤC TÀI LIỆU THAM KHẢO
57
PHỤ LỤC
58
ix
DANH MUC THU AT NGlT VA CAC TU' VIET TAT
ỉ STT
iỈ
!■ 1
s
• ■
.
Thuât ngữ
Tiếng Việt
Tiếng Anh
Coreference resolution
■
2
1 ■; ■.
3
IE
Information Extraction
IR
Information Retrieval
Truy xuất thông tin
4
MT
Machine Translation
Máy dịch
5." j -■ NE
Named Entity recognition
NPL
Natural Language Processing
ST
Scenario Template production
8
TE
Template Element construction
9
TR
Template Relation construction
10
WCF
Windows Communication
Foundation
6
1
1
Trích rút thơng tin
•
Xử lý ngơn ngữ tự nhiên
: ■
,
'v
:
;
.
‘
:
:
"
■
V
...................... ~
X
MỞ ĐÀU
Theo báo cáo NetCitizens Việt Nam của Cimigo vào tháng tư năm 2011, trong vòng
10 năm trở lại đây, tỷ lệ sử dụng Internet tại Việt Nam có tổc độ tăng trưởng nhanh
nhất trong khu vực. Theo những con số chính thức, 31% dân số Việt Nam có truy
cập Internet và mỗi năm có thêm khoảng 2-3 triệu người gia nhập. Hệ thống tìm
kiếm trên Internet cũng được rất nhiều người sử dụng, chỉ tính riêng Google đã có
88-97% người dùng. Phần lớn người dùng nghĩ Internet là nơi hữu ích để tìm hiểu
về những nhãn hiệu, thơng tin sản phẩm, tuy nhiên thì có đến 60% khơng tin vào hệ
thống thanh toán trực tuyến. Hiện tại hệ thống tìm kiếm thơng tin sản phẩm vẫn cịn
hạn chế, chỉ bao gồm tìm kiếm sản phẩm thuộc một số trang webs bán hàng.
Với mong muốn xây dựng một hệ thống tìm kiếm thơng tin sản phẩm theo hướng
đánh giá của cộng đồng người sử dụng trên mạng Internet ở Việt Nam, đồ án tốt
nghiệp đã đi sâu tìm hiểu những lý thuyết và cơng nghệ tìm kiếm, rút trích thơng tin
và đề xuất mơ hình xây dựng hệ thống tìm kiểm sản phẩm theo hướng đánh giá của
cộng đồng người sử dụng tại Việt Nam.
Hoạt động kinh doanh trực tuyến là một thị trường rất “béo bở” trong tương lai. Một
hệ thống tìm kiếm sản phẩm theo hướng đánh giá là điều kiện cần thiết để phát triển
cho các hoạt động kinh doanh trực tuyến này.
CHƯƠNG 1
TỊNG QUAN CÁC HỆ THỐNG TÌM KIẾM
ị Nội dung của chương này sẽ trình bày các vấn đề sau:
•
Các hệ thống tìm kiểm trên Webs.
•
Các hệ thống tìm kiếm hiện có ở Việt Nam.
•
Hệ thống tìm kiếm thơng tin sản phẩm.
\
«Wííwsíj
1.1 Tổng quan về các hệ thống tìm kiếm trên Webs
1.1.1 Lịch sử phát triển
Vị trí cơng cụ đầu tiên được sử dụng cho việc tìm kiểm trên Internet được ghi nhận
cho “Archie” - một ứng dụng tìm kiếm thời tiền web được tạo bởi Alan Emtage một sinh viên đại học McGill, Montreal. Cho đến những năm 1990, các viện nghiên
cứu và chuyên gia công nghệ đang quen dần với việc sử dụng Internet để lưu trữ các
công trình nghiên cứu, bản vẽ kỹ thuật và các dạng tài liệu khác nhau trên máy để
cơng chúng có thể sử dụng rộng rãi. Lúc đó, nếu khơng có địa chỉ máy tính và tên
file thì gần như khơng thể tìm được những lưu trữ đó. Archie dị tìm các lưu trữ trên
web, và thiết lập chỉ mục cho từng file tìm được. Dựa trên chuẩn giao thức truyền
dữ liệu trên Internet (File Transfer Protocol), Archie tương đồng với hầu hết các
cơng cụ tìm kiếm web hiện đại khác: dị tìm dữ liệu, thiết lập chỉ mục và đặt giao
diện tìm kiếm. Nhưng giao diện của Archie khơng thuận tiện với người dùng lắm,
chỉ có các chuyên gia và nhà nghiên cứu thực sự mới sử dụng Archie, họ có thể truy
vấn máy tìm kiếm qua kết nối trực tiếp với máy chủ Archie bằng giao diện dòng
lệnh, truy vấn bằng những từ khóa phù hợp với tiêu đề của tên file rồi nhận được
một danh sách các địa chỉ có chứa file phù hợp nào đó, sau đó họ kết nối với máy
tính và tra sốt trong đó xem có dữ liệu họ đang cần khơng.
I
Tiếp theo đó, năm 1991 McCahill của đại học Minnesota đã sáng tạo ra “Gopher”.
Nếu như Archie đánh chỉ mục các tên file thì Gopher đánh index các văn bản text
đơn giản, cho phép người dùng kết nối trực tiếp vào tài liệu truy vấn thay vì chỉ kết
nổi vào máy có chứa tài liệu đó. Hai chương trình "Veronica" và "Jughead" được
tạo ra sạu đó tìm kiếm các file trong hệ thống các file index của Gopher. Veronia là
chương trình do sinh viên trừong Đại học Nevada tạo ra vào năm 1993 lấy tên từ
một vở kịch. Veronia hoạt động tương tự như Archie nhưng thay thế cho Gopher,
môt chuẩn chia sẻ dữ liệu trên Internet cho giao thức FTP khá đặc trưng và phổ
biến. Cả Archie, veronica đểu thiếu khả năng về ngữ nghĩa bởi vì chúng khơng chỉ
mục vào toàn văn bản mà chỉ tới tiêu đề của tài liệu. Điều đó có nghĩa người tìm
kiếm phải biết hoặc phải suy luận được tiêu đề của tài liệu mà người đó đang tìm.
, Khi Internet phát triển mạnh thì cơng cụ tìm kiếm cũng phải được nâng lên tương
xứng. Máy dò hay robot đã giải quyết được vấn đề này. Máy dò là một loại robot tự
động lập chỉ mục cho các trang web, nó chạy khắp trên mạng một cách hệ thống để
thu thập các trang web và khi các trang web xuất hiện ngày một nhiều thì nó cũng
tự động điền thêm vào hệ thống dị tìm. Máy dị tìm đầu tiên được tạo ra bởi
Matthew Gray, một sinh viên trường MIT vào năm 1993 có tên là World Wide Web
Wanderer. Tuy nhiên máy dị của Gray có một tác động khơng mong muốn khác
trong những ngày đầu thời kỳ web. Lúc ấy băng thông rất nhỏ và hiếm nên nhiều
nhà quản trị nhận thấy rằng máy dò tốn quá nhiều xử lý và chu trình băng thơng do
nó phải trỏ vào chính nội dung của trang web. Sau đó Gray phải ngắt bỏ nhện web
(crawler), cài đặt nó bằng thuật tốn theo chiều ngang để mở rộng nhiều trang trước
khi tìm kiếm. Quy trình này hiệu quả hơn và hiện vẫn còn đang được sử dụng ngày
nay.
Máy dị sớm bị các cơng cụ mạnh hơn thay thể. Một trong những cơng cụ đầu tiên
đó là webcrawler được một nhà nghiên cửu thuộc đại học Washington tên là Brain
Pinkerton phát triển. Pinkerton nảy sinh dự định đối với cơng cụ tìm kiểm và cơng
nghệ liên quan đến chỉ mục trang web từ năm 1994. Đây là một bước đơn giản để
tạo ra webcrawler có thể gọi là đường dẫn, khá tương đồng với phương pháp của
trình duyệt web. Pinkerton đã tạo ra nhện web cơ bản và chỉ mục các trang web.
Webcrawler đã đóng vai trị quan trọng trong cuộc cách mạng về tìm kiếm vì đây là
chương trình đầu tiên chỉ mục toàn văn tài liệu trên trang web tìm được. Vào tháng
tư năm 1994, Pinkerton đã đưa dự án khơng chun này của mình lên mạng.
Năm 1993, Excite được giới thiệu bởi 6 sinh viên trường đại học Stanford. Hệ thống
này sử dụng sự phân tích thống kê mối quan hệ từ để trợ giúp cho quá trình search.
Chỉ sau 1 năm, Excite đã được tích hợp và đưa lên online vào tháng 12 năm 1995 và
đến nay vẫn là một phần của công ty AskJeeves.
EINet Galaxy (Galaxy) được thiết lập vào năm 1994 là một phần của tổ chức nghiên
cứu MCC Research Consortium thuộc đại học Texas. Sau đó Galaxy được đặt hàng
bởi trường đại học và chuyển qua một vài công ty khác nhau, đến nay nó trở thành
một tổ chức độc lập. Galaxy được tạo ra giống như một danh mục, bao gồm cả
Gopher và chức năng search telnet trong chức năng search web.
Jerry Yang and David Filo đã tạo ra Yahoo vào năm 1994, khởi đầu như một danh
sách các website u thích có đường dẫn URL và mô tả nội dung trang. Trong vịng
2 năm sau đó, cơng ty Yahoo ra đời.
Lycos cũng được giới thiệu vào năm 1994. Đây là một search engine lớn, đã index
được hơn 60 triệu documents vào năm 1996 - lượng dữ liệu lớn nhất trong tất cả
các search engine thời kỳ đó. Giống như nhiều search engine khác, lycos được phát
triển trong môi trường trường đại học Camegie Mellon bởi Dr. Michael Mauldin.
Infoseek online vào năm 1995, cơng cụ này đã khơng mang được điều gì thực sự
mới mẻ cho ngành cơng nghiệp search. Hiện nay thì infoseek được sở hữu bởi tập
đoàn Walt Disney với domain là Go.com.
4
Năm 1995 Alta Vista ra đời. Đây là search engine đầu tiên cho phép sử dụng các
queries là ngôn ngữ tự nhiên và có cơng nghệ search ưu việt. Người ta nói rằng tạo
ra Altavista.com là một kỳ tích. Tập đồn Digital Equipment Corp (DEC) khi đó
vừa ra mắt bộ xử lý Alpha siêu tốc và tìm cách chứng minh sức mạnh của bộ xử lý
này. Do cơ sở dữ liệu dung lượng lớn đang là tâm điểm của thị trường các công ty
công nghệ thông tin, DEC cần một cơ sở dữ liệu như thế để tìm kiếm. Đồng thời với
nỗ lực chứng minh qua những thơng tin tích cực, công ty này cũng cần những chiêu
PR hấp dẫn. Đó là xây dựng một hình ảnh giúp cơng ty chiếm được sự chú ý của
mọi người bằng ấn tượng về một công ty đi đầu về công nghệ. Louis Moninter, một
nhà nghiên cứu thuộc Trung tâm Western của DEC tại Palo Alto, bang California đã
đề xuất xây dựng một cơng cụ tìm kiếm có thể tải tồn bộ mạng Internet (cơ sở dữ
liệu dung lượng lớn) xuống máy tính tích hợp bộ xử lý Alpha, sau đó tạo ra một
chương trình có thể ứng dụng tốc độ xử lý của Alpha (đó là máy tìm kiểm).
Altavista ra đời từ đó. Mặc dù thất bại sau này nhưng Alta vista vẫn thực sự ấn
tượng do một vài lý do. So với hiện nay, Alta vista là một Google thời bấy giờ.
Inktomi được khởi đầu vào năm 1996 tại u c Berkeley. Vào tháng 6 năm 1999,
Inktomi giới thiệu một directory search engine dựa trên công nghệ "concept
induction". Theo như giới thiệu của cơng ty này thì "concept induction" có khả năng
tiến hành phân tích thói quen của người sử dụng để đưa ra các trang gợi ý. Inktomi
được bán cho Yahoo vào năm 2003.
Năm 1997 AskJeeves và Northern Light cùng ra mắt.
Năm 1997 Google ra mắt như một dự án nghiên cứu tại trường Đại học Stanford bởi
hai nhà sáng lập Sergey Brin và Larry Page.
Năm 1998 MSN Search và Open Directory ra đời, sau đổi tên thành Bing.
Cuil là máy tìm kiếm được cơng bố có số lượng chỉ mục lên tới 121 tỉ trang web,
bắt đầu đi vào hoạt động từ ngày 28 tháng 7 năm 2008. Chính sách riêng tư mà Cuil
5
đưa ra là nói khơng với việc cất giữ hoạt động tìm kiếm và địa chỉ IP của những
người sử dụng, trong khi các máy tìm kiếm khác thì thu thập những thông tin này.
Trong những người sáng lập ra Cuil có tới 3 người từng làm việc cho Google, gồm
có: Anna Patterson, Russell Power và Louis Monier. Đồng sáng lập Tom Costello
(hiện nắm chức vụ CEO của Cuil) đã từng làm việc cho IBM và một số công ty
khác. Cuil nhận được 33 triệu USD từ các công ty đầu tư mạo hiểm trong đó có
Greylock. Cơng nghệ tìm kiếm được trang web này tuyên bố rằng có khả năng phân
tích ngữ nghĩa văn bản nhờ áp dụng các công nghệ mới nhất trong xử lý ngôn ngữ
tự nhiên để đưa ra kết quả phù hợp thay vì chỉ áp dụng các thuật tốn tìm kiếm
thuần túy dựa trên từ khóa và thứ hạng trang (PageRank).
1.1.2 Đặc điểm của các hệ thống tìm kiếm trên Webs
Các hệ thống tìm kiểm trên Webs đều có các bộ phận chính sau:
>
Bộ thu thập thơng tin - Robot
Robot là một chương trình tự động duyệt qua các cấu trúc siêu liên kết để thu thập
tài liệu & một cách đệ quy nó nhận về tất cả tài liệu có liên kết với tài liệu này.
Robot được biết đến dưới nhiều tên gọi khác nhau : spider, web wanderer hoặc web
worm... Những tên gọi này đôi khi gây nhầm lẫn, như từ “spider”, “wanderer” làm
người ta nghĩ rằng robot tự nó di chuyển và từ “worm” làm người ta liên tưởng đến
virus, v ề bản chất robot chỉ là một chương trình duyệt và thu thập thông tin từ các
site theo đúng giao thức web. Những trình duyệt thơng thường khơng được xem là
robot do thiếu tính chủ động, chúng chỉ duyệt web khi có sự tác động của con
người.
>
Bộ lập chỉ mục - Index
Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và xử lý dữ liệu, thực hiện
việc phân tích, trích chọn những thơng tin cần thiết (thường là các từ đ ơ n , từ ghép ,
cụm từ quan trọng) từ những dữ liệu mà robot thu thập được và tổ chức thành cơ sở
dữ liệu riêng để có thể tìm kiếm trên đó một cách nhanh chóng, hiệu quả. Hệ thống
chỉ mục là danh sách các từ khoá, chỉ rõ các từ khoá nào xuất hiện ở trang nào, địa
chỉ nào.
6
>
Bộ tìm kiểm thơng tin - Search Engine
Search engine là cụm từ dùng chỉ toàn bộ hệ thống bao gồm bộ thu thập thông tin,
bộ lập chỉ mục & bộ tìm kiếm thơng tin. Các bộ này hoạt động liên tục từ lúc khởi
động hệ thống, chúng phụ thuộc lẫn nhau về mặt dữ liệu nhưng độc lập với nhau về
mặt hoạt động.
Search engine tương tác với user thông qua giao diện web, có nhiệm vụ tiếp nhận &
trả về những tài liệu thoả u cầu của user.
Nói nơm na, tìm kiếm từ là tìm kiếm các trang mà những từ trong câu truy vấn
(query) xuất hiện nhiều nhất. Một từ càng xuất hiện nhiều trong một trang thì trang
đó càng được chọn để trả về cho người dùng. Và một trang chứa tất cả các từ trong
câu truy vấn thì tốt hơn là một trang khơng chứa một hoặc một số từ. Ngày nay, hầu
hết các search engine đều hỗ trợ chức năng tìm cơ bản và nâng cao, tìm từ đơn, từ
ghép, cụm từ, danh từ riêng, hay giới hạn phạm vi tìm kiếm như trên đề mục, tiêu
đề, đoạn văn bản giới thiệu về trang web.
Ngoài chiến lược tìm chính xác theo từ khố, các search engine còn cố gắng “hiểu”
ý nghĩa thực sự của câu hỏi thông qua những câu chữ do người dùng cung cấp. Điều
này được thể hiện qua chức năng sửa lỗi chính tả, tìm cả những hình thức biến đổi
khác nhau của một từ. Ví dụ : search engine sẽ tìm những từ như speaker, speaking,
spoke khi người dùng nhập vào từ speak.
*Nguyên lý hoạt động của Search Engine
Search engine điều khiển robot đi thu thập thông tin trên mạng thông qua các siêu
liên kết (hyperlink). Khi robot phát hiện ra một site mới, nó gởi tài liệu (web page)
về cho server chính để tạo cơ sở dữ liệu chỉ mục phục vụ cho nhu cầu tìm kiếm
thơng tin.
Bởi vì thơng tin trên mạng luôn thay đổi nên robots phải liên tục cập nhật các site
cũ. Mật độ cập nhật phụ thuộc vào từng hệ thống search engine. Khi search engine
nhận câu truy vấn từ user, nó sẽ tiến hành phân tích, tìm trong cơ sở dữ liệu chỉ mục
& trả về những tài liệu thỏa yêu câu.
7
1.2 Các hệ thống tìm kiếm ỏ' Việt Nam
Cách đây 5 năm, người dùng Internet ở Việt Nam đã biết đến các web tìm kiếm như
Vinaseek, Hoa tiêu hay Pan Việt Nam. Nhưng các trang web tìm kiếm tiên phong
này chỉ trụ được thời gian ngắn và hầu như biến mất sau sự xuất hiện của gã khổng
lồ Google. Tuy nhiên, từ đầu năm 2007, làn sóng web tìm kiếm thế hệ thứ hai của
Việt Nam bắt đầu nở rộ, ước tính hiện có hon 20 web tìm kiếm do các công ty trong
nước xây dựng.
Xu hướng chủ đạo của các web tìm kiếm Việt Nam là tránh đối đầu trực diện với
Google, phát triển nhiều loại dịch vụ tìm kiếm cho các nhu cầu chuyên biệt như tìm
nhạc sổ, tin tức, blog, tìm thơng tin từ các diễn đàn, hình ảnh, gần đây một số web
ra thêm dịch vụ tìm kiếm thơng tin rao vặt.
Tuy nhiên, cũng có một số web tìm kiếm muốn cạnh tranh trực diện với Google hay
Yahoo ở lĩnh vực tìm kiểm web như Xalo hay Socbay, nhưng hiện tại vẫn chưa thể
chọi được với gã khổng lồ Google ở lĩnh vực tìm kiếm thơng tin tiếng Việt. Nhìn
vào xếp hạng lượng truy cập trên Alexa, vị trí các web tìm kiếm vẫn cịn khiêm tốn
so với Google và kể cả so với những trang tin tức trực tuyến.
> Xalo.vn
Sau khi từ bỏ Vinaseek, Tinh Vân trở lại thị trường tìm kiếm với việc ra 'mắt
Xalo.vn vào cuối tháng 9 vừa qua, định vị là web tìm kiểm thơng tin tiếng Việt.
Trang web hiện có 7 dịch vụ tìm kiểm là tìm kiếm web, hình ảnh, tin tức, blog, diễn
đàn, nhạc và rao vặt. Vừa mới đây, Tinh Vân đã kịp bổ sung thêm dịch vụ tra từ
điển, công cụ dịch tự động từ tiếng Anh sang tiếng Việt tưcmg tự như Google
Translate và dịch vụ dịch tin từ các hãng thông tấn và các cơ quan báo chí CNN,
BBC, Reuters và AP. Ở dịch vụ tìm kiểm, tốc độ cập nhật thơng tin của web này
khá tốt. Dịch vụ tìm kiếm nhạc có một số điểm nổi bật như hiển thị lời bài hát, có
thể tìm khơng dấu, đưa ra gợi ý tiếng Việt khi người dùng gõ sai bài hát hoặc lời bài
hát cần tìm, cho phép tìm theo ca sĩ, tìm trong một web nhạc cụ thể.
8
> Socbay.com
Trang web này cung cấp dịch vụ tìm kiếm nhạc khá tốt. Nhạc được tìm kiếm nhanh,
các bài hát được lưu trên máy chủ của Socbay nên có thể tải trực tiếp về máy tính.
Tìm sách và thơng tin về sách cũng là điểm độc đáo của Socbay, tuy nhiên lượng
thơng tin về sách cịn hạn chế. Ngồi ra, trang web này cịn có các dịch vụ tìm kiếm
khác như tìm kiếm web, video, video, địa điểm, tin rao vặt, hàng hóa, hình ảnh. Mới
đây, Socbay ra thêm dịch vụ tra từ điển trực tuyển và tìm kiếm tin tức cho những
người dùng máy tính nổi mạng và cả điện thoại di động.
> Baamboo.com
So với các web tìm kiếm trên, Baamboo có ít dịch vụ hon, hiện chỉ có 5 dịch vụ là
tìm nhạc, phim, tra từ điển, bản đồ và điểm tin tức. Tuy nhiên, bộ máy tìm kiếm
Baamboo thực sự tiện dụng với những người muốn tìm kiếm nhạc kèm lời bài hát.
Dịch vụ tra từ của trang web này còn cho phép người dùng tra nhiều loại ngôn ngữ
và các từ điển chuyên ngành như ô tô, điện tử. Baamboo là một sản phẩm của v c
Corp, công ty cung cấp nhiều dịch vụ web khác như trang web rao vặt
Rongbay.com, trang game trực tuyển Socvui.com và trang nhạc số Sannhac.com,
kênh thơng tin giải trí Kenhl4.vn. Năm ngoái, v c Corp đã được quỹ đầu tư mạo
hiểm IDG Ventures Việt Nam "rót" 2 triệu USD để phát triển các dịch vụ nội dung.
Bên cạnh 4 trang web tìm kiếm trên, cịn có nhiều trang web tìm kiếm khác như
Zing Search. Nhưng các hệ thống này chỉ có chức năng tìm kiếm trên database nội
bộ mà khơng có chức năng tự động thu thập dữ liệu.
1.3 Hệ thống tìm kiếm thơng tin sản phẩm
1.3.1 Hệ thống tìm kiếm thơng tin sản phẩm
Ngun tắc của tìm kiếm trên webs đơn giản chỉ là thu thập dữ liệu, đánh chỉ mục,
xếp hạng các kết quả trả về dựa theo độ liên quan đến từ khóa. Tuy nhiên thì người
9
dùng chỉ muốn tìm kiếm về một đối tượng nào đấy, chứ không hẳn là nội dung fulltext của cả trang web, chẳng hạn như là hình ảnh, sản phẩm, con người, bài báo,
ebook, nhạc, video, địa điểm (nhà hàng, khách sạn, danh lam thắng cảnh) v.v... và
được gọi chung với thuật ngữ “vertical search”.
Ở Việt Nam một số trang web đã đi theo hướng này và đã có ít nhiều tiếng vang
như tìm kiếm việc làm có JSeeker, iHoatieu; tìm kiếm nhạc có Baamboo Mp3,
Ginggoong, 7sac, Miu; tìm kiếm địa điểm có Baamboo Bản địa, Thổ địa, Địa điểm,
Izomi; tìm kiếm ebook có Bookilook. Và có cả các trang webs tìm kiếm tập tin
download từ RapidShare, MegaUpload, MediaFire...
Nói ngắn gọn, hệ thống tìm kiểm thơng tin sản phẩm là một trong những ứng dụng
của tìm kiếm trên web. Điểm khác biệt căn bản của hai hệ thống này là kết quả trả
về. Kết quả trả về của tìm kiếm trên web là các trang văn bản, còn kết quả trả về của
tìm kiểm sản phẩm là thơng tin của sản phẩm. Rõ ràng nếu khơng có hệ thống tìm
kiếm thông tin sản phẩm, người dùng sẽ mất thời gian để duyệt qua các trang web
mà cơng cụ tìm kiếm web trả về. Ví dụ: người dùng muốn tìm kiếm thơng tin chi
tiết cấu hình về chiếc laptop mới Acer Iconia 2 màn hình, người dùng có thể tìm
kiểm với từ khóa “Acer Iconia” và kết quả Google trả về là hàng loạt các trang web
có chứa từ khóa này, điều khó khăn là trong các trang này, chỉ đơn giản là có chứa
từ “Acer Iconia” chứ khơng hề chứa thêm bất kỳ một thơng tin cấu hình chi tiết nào
cả, người dùng buộc phải nhấn phím Back để thử với một trang web khác. Đây
không phải là lý do duy nhất để hình thành hệ thống tìm kiếm sản phẩm để phục vụ
người dùng được tốt hơn.
Thương mại điện tử đang phát triển với tốc độ chóng mặt trên phạm vi toàn cầu,
theo thống kê NetCitizens Việt Nam như ở phần mở đầu, thì chỉ mới có 16% người
sử dụng Internet tham gia mua sắm trực tuyến, thị trường ở Việt Nam cịn rất rộng
mở và có tiềm năng phát triển. Các nhà bán lẻ nhỏ và vừa đã sử dụng cơng cụ
Internet chủ yếu để bán hàng, vì rất dễ dàng và ít tốn kém chi phí để triển khai một
10
gian hàng trực tuyến. Tuy nhiên thì sự phát triển của các gian hàng này là khơng thể
kiếm sốt, chúng mọc lên như nấm sau mưa, đặc biệt là các gian hàng lừa đảo, kém
chất lượng. Với lượng thông tin quá nhiều về các sản phẩm như thế, một công cụ
tìm kiếm thơng thường như Google cũng khơng giúp người mua hàng tìm được sản
phẩm chính xác trong thời gian ngắn. Đặc biệt là các thơng tin tìm được đơi khi
khơng có gì là chắc chắn để xác minh tính xác thực về sản phẩm đó.
1.3.2 Đánh giá sản phẩm của cộng đồng ngưịi dùng
Với các thơng tin quảng cáo từ nhà sản xuất, các bài báo PR cho các sản phẩm từ
các trang báo điện tử xuất hiện rất nhiều, để đi đến quyết định mua một món hàng,
người tiêu dùng luôn đặt ra suy nghĩ “những người khác nghĩ gì về sản phẩm
này? ”, “người đã dùng đảnh giả chất lượng sản phẩm như thế nào? ”, “những
người có kinh nghiệm, có kiến thức đánh giá về sản phẩm này ra sao?”. Thông
thường, người dùng sẽ nhờ bạn bè hoặc người thân có hiểu biết về sản phẩm để tư
vấn mua hàng. Tuy nhiên thì trong thời đại ngày nay, việc nhờ vả này xem ra rất
khó vì nhiều lý do:
+ Bạn bè người thân đôi khi không thể giúp đỡ vì bận rộn trong cuộc sống.
+ Khơng tìm thấy ai có đủ hiểu biết, kinh nghiệm về sản phẩm cần mua.
+ Trình độ học vấn của người dùng ngày càng cao, người dùng muốn tự tìm
hiểu sản phẩm, việc này có ý nghĩa sâu xa giống như tự tìm hiểu và lựa chọn
người yêu cho mình chứ không muốn bố mẹ mai mối.
Với Internet, mọi chuyện trở nên dễ dàng hơn, người dùng dễ dàng tìm kiếm được
các đánh giá của cộng đồng người dùng về sản phẩm này, bao gồm cả ý kiến hiểu
biết cá nhân và các chuyên gia. Theo như nghiên cứu Bo Pang và Lillian Lee:
+ 81 % người dùng đã từng tham gia các khảo sát trực tuyến ít nhất một lần.
+ 20% người dùng thực hiện việc này thường xuyên.
11
+ 73% - 87% các trang web bán hàng cho rằng đánh giá của cộng đồng người
dùng có tầm ảnh hưởng quan trọng đến hành vi mua hàng của họ.
+ Người dùng có thể trả thêm 20% đến 99% cho một sản phẩm được đánh giá
5 sao so với giá của một sản phẩm 3,4 sao.
+ 32% người dùng cung cấp những đánh giá trên sản phẩm, dịch vụ cho một
trang web đánh giá trực tuyến, và 30% cung cấp những ý kiến cá nhân hoặc
đánh giá cho một sản phẩm nào đó.
Từ đó một người dùng muốn mua hàng và muốn tìm hiểu “những người khác nghĩ
gì” sẽ dùng cơng cụ tìm kiếm và tiến hành đọc những đánh giá này. Nhưng mọi
chuyện không đon giản như thế. Tốn thời gian và làm nản chí những người khơng
kiên trì là lý do đầu tiên, thứ hai là những đánh giá được đọc có phải ià tất cả, họ
phải lướt qua hàng loạt các trang webs để có cái nhìn tồn diện nhất.
Cùng với việc các cơng ty lớn cũng nhận ra tầm ảnh hưởng quan trọng của đánh giá
người dùng trong việc đánh giá và hình thành ý kiến về sản phẩm của những người
dùng sản phẩm khác. Các cơng ty có thể phân tích những đánh giá, qua đó điều
chỉnh chiến lược tiếp thị, vị trí sản phẩm và những hoạt động khác.
1
r
Như vậy, qua những vấn đề đã trình bày ở trên, nhiệm vụ của đồ án phải thực hiện
chính là xây dựng một hệ thống tìm kiểm sản phẩm dựa trên những đánh giá của
cộng đồng người dùng. Để thực hiện điều này, chúng ta sẽ lần lượt tìm hiểu thêm
một số cơng cụ, kỹ thuật cũng như cơng nghê được trình bày lần lượt ở các chưomg I
tiếp theo
12
CHƯƠNG 2
TÌM HIỂU CƠNG CỤ SOLR, LUCENE
2.1 LUCENE
2.1.1 Giói thiệu về Lucene
Năm 1998, Doug Cutting - từng là nhân viên của Excite, Yahoo, và đang làm việc
tại Apache Software Foundation - đã bắt đầu tiến hành xây dựng thư viện tìm kiếm
thơng tin mã nguồn mở Lucene với mục tiêu phát triển nó thành một thư viện tìm
kiếm tài liệu hoàn chỉnh, cho phép các nhà phát triển ứng dụng dễ dàng tích hợp
chức năng tìm kiếm vào hệ thống của mình.
Lucene là một thư viện tìm kiếm thơng tin có khả năng xử lý và khả năng mở rộng
ở mức cao, cho phép chúng ta có thể tích hợp vào các ứng dụng. Lucene là một dự
án mã nguồn mở và nguyên thuỷ được phát triển bằng ngôn ngữ Java, ngày nay
Lucene được phát triển bằng nhiều ngôn ngữ khác nhau như Delphi, Perl, c#, C++,
Python, Ruby và PHP...
Thành phần chức năng chính của Lucene bao gồm hai phần chính: Thành phần tạo
chỉ mục và thành phần tìm kiếm. Đây là hai thành phần quan trọng cho một hệ
thống tìm kiếm.
> Thành phần Tạo chỉ mục:
Bao gồm các phần chức năng xử lý tạo chỉ mục, từ văn bản đầu vào để cho ra kết
quả là một tập chỉ mục. Lucene chỉ hỗ trợ trên văn bản sau khi được tách nội dung
ở dạng ký tự thuần, nó cho phép lập chỉ mục trên từng trường thông tin của văn
bản và cho phép thiết lập hệ số cho từng trường thơng tin để nâng cao vai trị lúc
tìm kiếm.
13
+ Directory: cho phép định nghĩa vùng nhớ, xác định nơi lưu trữ trên bộ nhớ
ngoài và bộ nhớ trên RAM trong quá trình tạo chỉ mục.
+ Document và Field: định nghĩa tài liệu và các trường thông tin của tài liệu sử
dụng cho lập chỉ mục, nó cũng sử dụng cho việc lấy kểt quả trả về cho thành
phần tìm kiểm.
+ Analyzer: thực hiện chức năng xử lý và tách văn bản để lấy nội dung,
chuẩn hóa, loại bỏ mục từ không cần thiết,... để chuẩn bị cho việc lập chỉ
mục.
+ IndexWriter: là phần chính trong thành phần Tạo chỉ mục, nó thực hiện việc
tạo mới hoặc mở chỉ mục, sau đó thực hiện thêm mới hoặc cập nhật nội dung
của chỉ mục.
> Thành phần Tìm kiểm
Bao gồm các phần chức năng cho xử lý tìm kiếm, từ yêu cầu của người dùng, thông
qua biên dịch và so khớp để lấy về kết quả tốt nhất. Lucene hỗ trợ nhiều loại truy
vấn thuận tiện cho người sử dụng, nó cho phép tìm theo trường thơng tin hay các
thiết lập nâng cao như sấp xếp kết quả, giới hạn thời gian hoặc số lượng kết quả,
phân trang...
+ Term: Term là một đơn vị cơ bản của tìm kiếm, tương tự như thành phần
Field, Term cũng bao gồm tên và giá trị tương ứng.
+ Query: bao gồm nhiều loại truy vấn khác nhau, nó chứa nhiều phương thức,
nhưng hầu hết đều quan tâm đến việc thiết lập chỉ so Boost, cho phép Lucene
hiểu truy vẩn con nào là quan trọng hơn.
+ IndexSearcher: cho phép tìm kiếm trên tập chỉ mục do IndexWriter tạo ra,
đây là thành phần chỉ thực hiện nhiệm vụ mở tập chỉ mục, không cho phép
chỉnh sửa hay thay đổi. Có nhiều phương thức tìm kiếm, một trong số đó là
lớp thành phần thực thi Searcher, với cách đơn giản là cung cấp một Query
14
truy vân, sô lugng câc lien kêt cân trâ vê, v kờt qu trõ vờ sở l tõp cõc dụi
tuỗmg TopDoc.
+ TopDoc: là mot lôp don giân, dùng cho viêc chua câc thir hang cao nhât cüa
N tài lieu cô lien quan dờn truy võn. Vụi moi dụi tuỗmg trong danh sâch này
së cho mot docID dùng dê lien kêt dên tài lieu nhân vê.
Lucene không phâi là mot ûng dung hay mot mây tim kiêm hoàn chinh dê nguài
dùng cơ thê sir dung ngay, dây chỵ là mot thir viên, nô cung câp câc thành phân
quan trong nhât cüa mot mây tim kiêm dơ là tao chỵ mue và truy vân. Chinh vi chỵ
cung câp câc thành phân quan trong trong viêc tao chỵ mue nên ngi dùng rât linh
hoat trong viêc ûng dung vào sân phâm cüa minh, cung nhu cô mot sô câi tien cho
phù hop hon.
2.1.2 Câch sir dung Lucene
Dê cho thuc té và dê hiêu, dô an së trinh bày tùng buôc câch build mot ûng dung su
dung thu viên Lucene. Nhu dâ trinh bày phân trên, Lucene duge phât triên bang rât
nhièu ngôn ngü khâc nhau, ngôn ngù .NET së dùng dê minh hoa.
Dâu tien phâi download bô thu viên Lucene.NET phiên bân môi nhât vê tai:
net nz/Lucene.net/Lucene.net2.3.2.zip
Tao mot project và add câc thu viên vào:
using
using
using
using
using
using
usinq
Lucene.Net.Analysis;
j
L u c e n e . Net.Analysis.Standard;
|
Lucene.Net.Documents;
Lucene.Net.Index;
Lucene.Net.QueryParsers;
Lucene.Net.Search;
Lucene.Net.Store;
______
____ ____ ____ __ ______ ___ _
...... j
15
^ Bước 1: Khởi tạo Directory và IndexWriter
Có 2 dạng Directory: RAM và tập tin lưu trên HDD. Bạn có thể chọn 1 trong 2.
I Di r e c t o r y directory = FSDirecTtoryTGetDirectcTry r^Lucëneïndex^T;
iA n a l y z e r analyzer = new StandardAnalyzer();
j I nd e x W r i ter w riter^= new J n d exWriter(directory, an a lyze r ) ;
> Bước 2: Thêm Documents để Index
Documents này có 2 trường, một là id sẽ được lưu trữ, nhưng không được index,
trường còn lại là postBody cũng sẽ được lưu trữ và được index.
I Document doc = new Document 0 ;
d o c . A d d ( n e w FieldC'id", i .ToString () , Field, s t o r e .YES,
I F i e l d . I n d e x . N O ) );
| d o c . A d d ( n e w F i e l d ("postBody", text, Field.store.YES,
I F i e l d . I n d e x.TOKENIZED));
[ w r i t e r .AddDocument (d o c) ;
^
;
Sau khi thêm tất cả các Documents bạn muốn, ta sẽ gọi hàm Optimize() và tiến
hành đẩy tất cả các dữ liệu index được xuống file trong thư mục Directory, cuối
cùng ta sẽ đóng chúng lại.
ị w r i t e r . O p t i m i z e () ;
Ị w r i t e r .F l u s h () ;
Ị w r i t e r .C l o s e () ;
I
> Bước 3: Tạo câu truy vấn
Truy vấn có thể được tạo ra bàng 2 cách: thơng qua API và thơng qua phân tích cú
pháp QueryParser.
Foue r y P a r s e r parser = new QueryParser("postBody",
Q u e r y query = parser. Parse ("text" !
analyzer);
Hoặc là:
r b u e r v auerv = new TermQuery(new T e r m ("postBody", "text"));
i
16
Vậy khi nào nên dùng cách truy vấn nào? Chúng đều tốt như nhau cả, tuy nhiên khi
người dùng truy vẩn thì nên thơng qua QueryParser, cịn nếu được truy vẩn bàng
code trong chương trình, chúng ta nên dùng trực tiếp truy vấn thông qua API.
> Bước 4: Đưa các Query vào IndexSearcher và truy vấn.
Chú ý chỉ nên tạo 1 IndexSearcher cho tất cả các tìm kiểm của bạn.
r I n d e x S e a r c h e r s e a r c h e r = new I i í d e x S e ã r c h e r ( d i r e c t o r y ) ;
Ị H its h i t s = se a rch e r. Search(query);
> Bước 5:
Phương thức Search sẽ trả về 1 đối tượng Hits chứa một danh sách các Document,
chỉ cần duyệt qua Hits ta sẽ lấy được kểt quả truy vấn.
in t re s u lts = h its .L e n g th 0 ;
C o nsole.W riteLine("F oun d { 0 } r e s u lt s " , r e s u lt s ) ;
f o r ( i n t i = 0 ; i < r e s u l t s ; Ì++)
{ _
Document doc = h i t s . D o c ( i ) ;
f l o a t s c o r e = h i t s . Sc o re ( i ) ;
C o n s o l e . W r i t e L i n e ( " R e s u l t num { 0 } , s c o r e { 1 } " , i + 1 , s c o r e ) ;
C o n so le .W rite L in e ("ID : { 0} " , d o c .G e t( " id " ) );
C o n s o l e . W r i t e L i n e ( " T e x t f o u n d : { 0 } " + E n v i r o n m e n t . Ne wLi ne,
d o c . G e t("postB ody") ) ;
} ..... _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Phương thức Doc(int i) sẽ trả về Document thứ i (zero-based). Tương tự với
phương thức Score(int i).
> Bước 6: Kểt thúc
Khi đã hoàn thành xong mọi thứ, bạn nhớ đóng tất cả mơi trường lại, đặc biệt là:
Directory and IndexSearcher.
s e a r c h e r . c l o s e ()
d ire c to ry .C lo s e 0 ;
1
I