Tải bản đầy đủ (.docx) (40 trang)

Phát triển hệ thống thương mại điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.97 MB, 40 trang )

CÁC CHỨC NĂNG THỰC THI BỔ SUNG
- Đã thêm số lượng vào giỏ hàng, số lượng đặt mua có thể thay đổi trong giỏ
hàng

- Đã thực hiện chức năng thanh toán: trực tiếp và giao hàng rồi trả tiền


- Nếu trước đó chọn thanh toán trực tuyến thì chuyến sang trang sau:


- Đã thực hiện chức năng nâng cao:Tối ưu hóa công cụ tìm kiếm


I. MỤC ĐÍCH
Nhu cầu làm đẹp của con người ngày càng nâng cao. Không chỉ có quần áo,
mỹ phẩm, trang sức, mà giày dép cũng là một phụ kiện không thể nào thiếu, nó góp
phần làm tôn thêm vẻ đẹp bên ngoài, giúp cho chúng ta tự tin khi ra ngoài và giao
tiếp với mọi người. Giày dép không những thể hiện được sự chú ý, tôn trọng đối
phương mà giày dép còn thể hiện cho sự đẳng cấp, quý phái và sang trọng của
người mang. Có rất nhiều các mẫu giày dép hợp thời trang, phù hợp với nhiều độ
tuổi. Không ai là người không quan tâm đến giày dép. Với nhu cầu thị trường như
vậy, tại sao lại không nghĩ tới việc bán giày dép?


Với việc bán bán hàng trực tiếp, bạn sẽ gặp 1 số bất lợi như:
+ Tìm địa điểm thuê mặt bằng
+ Khách hàng có thể mua giầy tại nơi thuận tiện hơn với họ thay vì chọn cửa hàng
của bạn
+ Thời gian mở cửa vào giờ hành chính của bạn hầu như sẽ không có khách
+ Nhiều người lại không có quá nhiều thời gian để "lang thang" phố xá chọn chọn,
lựa lựa.


+ Khó khuyến nghị mua sản phẩm khác hay mua thêm sản phẩm tại cửa hàng trực
tiếp
Vậy tại sao không nghĩ ngay đến 1 trang web bán giày điện tử. Nó sẽ giúp
bạn xóa bỏ các rào cản trên, tăng thu nhập cho bản thân. Những người sử dụng
Internet sẽ thấy đơn đặt hàng trực tuyến dễ dàng hơn bất kỳ phương pháp nào khác.
Thiết kế thương mại điện tử khéo léo có thể khuyến khích khách hàng mua những
thứ họ không muốn. Ưu đãi đặc biệt dành cho người mua sắm thường xuyên, gợi ý
mua sắm xung quanh trước hoặc trong khi thanh toán, các phụ kiện hữu ích được
trình bày bên cạnh sản phẩm chính và hiển thị một lựa chọn ít tốn kém hơn so với
sản phẩm mà họ đang cân nhắc để khuyến khích khách hàng mua nhiều hơn. Bạn
có thể dễ dàng cập nhật trang web của mình để đề xuất các mục quan tâm theo mùa
cụ thể, để thông báo các sản phẩm mới thú vị hoặc để giới thiệu các sản phẩm
tương tự như những gì khách hàng cụ thể đã mua.
II. YÊU CẦU
1. Yêu cầu chức năng cho trang web
- Quản lý quyền sử dụng : khách hàng, admin, nhân viên nhập
hàng
- Quản lý nhân viên
- Quản lý loại sản phẩm
- Quản lý sản phẩm
- Quản lý thành viên
- Quản lý đơn hàng
- Yêu cầu đối với trang dành cho khách hàng và thành viên
+ Trang chủ : Giao diện bắt mắt ,hiển thị màu sắc, hình ảnh phù hợp và
được bố trí khoa học, hiện đại. Hiển thị nhiều danh mục con theo chủ đề
khách hàng yêu cầu.


+ Giới thiệu : Giới thiệu các thông tin liên quan đến doanh nghiệp, mặt hàng
kinh doanh, địa chỉ, tuyển dụng ,v.v..

+ Sản phẩm :
+ Các loại mặt hàng được bày bán theo các cấp ( theo khuyến mãi ,
giá , loại mặt hàng )
+ Mô tả chi tiết sản phẩm, kèm hình ảnh sắc nét.
+ Hiển thị giá sản phẩm
+ Dịch vụ:
+ Đặt hàng : Tích hợp tính năng giỏ hàng, khách hàng muốn mua sản
phẩm có thể thêm mặt hàng vào giỏ rồi tổng hợp
+ Thanh toán : Cho phép đặt hàng và thanh toán trực tiếp qua mạng
qua các phương thức như ATM, Paypal,v… hoặc có thể chọn phương
thức thanh toán trực tiếp khi giao hàng
+ Tìm kiếm : Cho phép khách hàng tìm kiếm sản phẩm theo tên, giá
tiền,v.v.. hoặc bất cứ từ khóa nào mà bạn muốn. Khách hàng của bạn sẽ dàng
tìm thấy được sản phẩm họ cần trong thời gian nhanh nhất.
+ Liên hệ : Footer sẽ hiển thị các thông tin liên hệ của doanh nghiệp kèm
theo form liên hệ trực tuyến để khách hàng có thể gửi những phản hồi, góp ý
về cho quản trị trang web của bạn.
+ Đăng ký : Cho phép khách hàng đăng kí thông tin ( họ tên, địa chỉ , số
điện thoại,...) để trở thành thành viên và hưởng những ưu đãi của cửa hàng
mang lại.
+ Đăng nhập: Cho phép các thành viên đăng nhập vào hệ thống để mua
hàng
+ Giao diện :
+ Với thiết kế đơn giản giúp website bán hàng trở nên thân thiện hơn,
giảm độ phức tạp khiến khách hàng không mất tập trung khi xem
hàng.
+ Giúp truyền đạt thông điệp tới khách hàng hiệu quả hơn bởi tập
trung vào việc hiển thị thông tin
+ Tối ưu hóa đồ họa, hình ảnh :



+ Người truy cập sẽ không phải chờ đợi lâu, giúp truy cập nhanh
những thông tin mà bạn muốn họ xem.
+ Các công cụ tìm kiếm luôn coi tốc độ load của website là một tiêu
chuẩn trong việc đánh giá xếp thứ hạng web.
+ Tương thích với mọi trình duyệt : Người dùng sẽ tiếp nhận chính xác
thông tin từ website của bạn từ mọi trình duyệt mà họ truy cập.
- Yêu cầu đối với trang quản trị (Admin)
+Quản lý sản phẩm : Thêm, sửa, xóa, tìm kiếm sản phẩm theo ngày, theo
tên.
+Quản lý thành viên : Thông tin thành viên
+Quản lý nhân viên : Thông tin nhân viên nhập hàng và check hàng
+Quản lý đơn hàng : Cập nhật chi tiết đơn hàng gồm loại sản phẩm, người
mua, trạng thái...
+Thống kê : thống kê lượng hàng bán được trong ngày, tuần, tháng
+Giao diện :





Thiết kế đơn giản , tiện dụng và khoa học .
Dễ dàng thêm sửa xóa và tìm kiếm sản phẩm.
Thống kê sản phẩm theo ngày , tuần , tháng
Quản lý đơn đặt hàng của các thành viên.

III. PHÂN TÍCH THIẾT KẾ
2. Phân tích, thiết kế chức năng chính
a. Usecase tổng



b. Sơ đồ tuần tự
+ Đăng kí thành viên
▪ Tác nhân : Khách hàng
▪ Mô tả : Cho phép khách hàng đăng kí làm thành viên của hệ thống
▪ Tiền điều kiện: Khách hàng ghé thăm hệ thống
▪ Hậu điều kiện: Khách hàng trở thành thành viên của hệ thống
▪ Kịch bản :
1. Người dùng chọn chức năng đăng ký trên giao diện chính của
hệ thống
2. Hệ thống hiển thị form đăng kí cho người dùng với các thông
tin cần thiết như họ tên , địa chỉ , số điện thoại , email,
password , confirm password…..và button Sign in
3. Người dùng nhập thông tin theo form đã có và nhấn button Sign
in
4. Hệ thống kiểm tra tính hợp lệ của các thông tin đã nhập và hiển
thị thông báo thành công
5. Hệ thống hiển thị giao diện chính tương ứng với các chức năng
của tác nhân
Ngoại lệ cho đăng ký thành viên :
4.1. Email của người dùng đã tồn tại


4.1.1. Thông báo đăng kí không thành công, email đã tồn tại
và chuyển người dùng sang giao diện đăng nhập.
Sơ đồ tuần tự cho chức năng đăng ký thành viên

Hình 1 : Sơ đồ tuần tự cho chức năng đăng ký thành viên
+ Đăng nhập hệ thống
▪ Tác nhân : thành viên

▪ Mô tả : Cho phép thành viên đăng nhập vào hệ thống
▪ Tiền điều kiện: thành viên chưa đăng nhập hệ thống
▪ Hậu điều kiện:thành viên đăng nhập thành công va sử dụng các chức
năng của hệ thống
▪ Kịch bản :
1. Người dùng chọn chức năng đăng nhập trên giao diện chính của
hệ thống
2. Hệ thống hiển thị form đăng nhập với các trường username,
password và button Login
3. Người dùng nhập username và password của mình và click
button Login


4. Hệ thống kiểm tra tính hợp lệ của tài khoản và mật khẩu
5. Hệ thống hiển thị giao diện chính tương ứng với các chức năng
của tác nhân
Ngoại lệ cho đăng nhập:
4.1. Người dùng nhập tài khoản hay mật khẩu không chính xác
4.1.1. Hệ thống thông báo lỗi và yêu cầu nhập lại
4.2. Tài khoản của người dùng không tồn tại
4.2.1. Hệ thống thông báo lỗi và yêu cầu người dùng sử dụng
chức năng đăng ký.
Sơ đồ tuần tự cho chức năng đăng nhập hệ thống:

Hình 2 : Sơ đồ tuần tự cho chức năng đăng nhập hệ thống
+ Tìm kiếm sản phẩm
▪ Tác nhân : Thành viên
▪ Mô tả : Cho phép thành viên tìm kiếm các sản phẩm
▪ Kịch bản :
1. Nhân viên bán hàng click vào button search sau khi nhân viên

bán hàng đăng nhập vào hệ thống
2. Hệ thống hiển thị form input để nhân viên nhập tên giày muốn
tìm và một button search.
3. Nhân viên bán hàng nhập tên của khách hàng muốn tìm kiếm
sau đó click vào button search


4. Hệ thống hiển thị danh sách với tên khách hàng mà nhân viên
vừa nhập và một button Back.
5. Nhân viên click vào tên khách hàng cần tìm để thấy đơn hàng
của họ.
6. Hệ thống hiển thị danh sách đơn hàng
7. Nhân viên bán hàng click “ok”
8. Hệ thống trở về trang chủ của nhân viên bán hàng.
Sơ đồ tuần tự của tìm kiếm sản phẩm:

Hình 3 : Sơ đồ tuần tự của tìm kiếm sản phẩm
+ Xem thông tin sản phẩm
▪ Tác nhân :khách hàng,người quản lý
▪ Mô tả : Cho phép khách hàng xem thông tin của sản phẩm mình cần
quan tâm
▪ Kịch bản :


1. Khách hàng nhập vào ô tìm kiếm sản phẩm mình muốn xem
2. Hệ thống hiển thị danh sách sản phẩm theo key mà khách hàng tìm
kiếm
3. Khách hàng click vào sản phẩm mà mình cần xem.
4. Hệ thống sẽ hiển thị toàn bộ chi tiết thông tin sản phẩm gồm tên sản
phẩm, giá , mô tả ,.......

+ Xem thông tin cá nhân
▪ Tác nhân :Nhân viên
▪ Mô tả : Cho phép nhân viên xem thông tin cá nhân của mình
▪ Tiền điều kiên: Nhân viên đã đăng nhập hệ thống
▪ Kịch bản :
1. Nhân viên click vào account management sau khi đăng nhập
2. Hệ thống hiển thị toàn bộ thông tin của nhân viên: Tên, số điện thoại,
địa chỉ, tên tài khoản...
Sơ đồ tuần tự cho Xem thông tin cá nhân:

+ Nhập thêm giày
▪ Tác nhân : Nhân viên
▪ Mô tả : Nhân viên nhập thêm giày vào trong shop.
▪ Tiền điều kiên: Nhan viên đã đăng nhập vào hệ thống.
▪ Kịch bản :


1. Nhân viên bán hàng click vào button AddShoes sau khi nhân viên
đăng nhập.
2. Hệ thống hiển thị form nhập thông tin sách với các thông tin : loại
giày, tên giày, nhàn sản xuất.
3. Nhân viên bán hàng nhập thông tin về giày cần nhập và click vào
button vào AddShoes.
4. Hệ thống hiển thị thông báo thêm sách thành công và click và một
button Ok.
5.Nhân viên bán hàng click và nút Ok.
6. Hệ thống trở về trang chủ của nhân viên.
Ngoại lệ: giày đã tồn tại.
3.1: Hệ thống thông báo giày đã tồn tại và button Ok.
3.2: Nhân viên bán hàng click vào button OK.

3.3: Hệ thống trở về thông tin đăng nhập.
button

3.4: Nhân viên nhập hàng nhập thông tin giày và nhấn
AddShoes.

Sơ đồ tuần tự của nhập thêm giày:


+ Sửa thông tin cá nhân
▪ Tác nhân :thành viên
▪ Mô tả : Cho phép thành viên sửa thông tin đăng ký của mình
▪ Tiền điều kiên: thành viên đã đăng nhập hệ thống
▪ Kịch bản:
1. Thành viên click vào Acount Management sau khi đăng nhập
2. Hệ thống hiển thị giao diện chứa toàn bộ thông tin của thành
viên
3. Thành viên click vào Edit trong giao diện
4. Hệ thống hiển thị toàn bộ thông tin cá nhân của nhân viên trong
các ô input
5. Thành viên sửa thông tin mình cần và click vào ok
6. Hệ thống hiển thị giao diện chứa thông tin sau khi sửa chủa
thành viên.
Sơ đồ tuần tự cho Sửa thông tin cá nhân

+ Xem giỏ hàng
▪ Tác nhân :khách hàng
▪ Mô tả : Cho phép khách hàng xem đươc sản phẩm mà mình đã thêm
vào giỏ hàng
▪ Tiền điều kiện: Khách hàng đã thêm sản phẩm vào giỏ hàng.



▪ Kịch bản:
1. Khách hàng click vào giỏ hàng sau khi mua hàng để có
thể xem được các mặt hàng mình đã mua.
2. Hệ thống hiển thị danh sách các sản phẩm có trong giỏ
hàng của bạn và hai button cancel và button delete.
3. Khách hàng click vào nút cancel.
4. Hệ thống quay trở về màn hình chính.
Sơ đồ tuần tự xem giỏ hàng:

+ Tạo giỏ hàng
▪ Tác nhân :khách hàng
▪ Mô tả : Cho phép khách hàng đưa sản phẩm đã chọn của mình vào giỏ
hàng
▪ Tiền điều kiện : Khách hàng đã đăng nhập vào hệ thống.
▪ Kich bản :
1. Khách hàng click vào button search sau khi khách hàng đã đăng


nhập vào hệ thống.
2. Hệ thống hiển thị form input để khách hàng nhập tên giày muốn
mua và một button search.
3. Khách hàng nhập tên giày muốn tim và click vào nút button search.
4. Hệ thống hiển thị danh sách với tên giày mà khách hàng vừa nhập
và một button Back.
5. Khách hàng click vào giày mà muốn thêm vào giỏ hàng.
6. Hệ thống hiển thị thông tin cơ bản về đôi giày cần mua và hai
button: AddToCart và Close.
7.Khách hàng click vào button AddToCart.

8.Hệ thống thông báo khách hàng đã thêm sách thành công và một
button Close.
9. Khách hàng click vào button Close.
10. Hệ thống quay trở lại trang chủ của khách hàng.
Sơ đồ tuần tự của tạo giỏ hàng:

+ Chỉnh sửa thông tin hàng trong giỏ


▪ Tác nhân :khách hàng
▪ Mô tả : Cho phép khách hàng xóa sản phẩm đã thêm trong giỏ hàng
(trong khoảng thời gian nào ?
▪ Tiền điều kiện: Khách hàng đã chọn sản phẩm vào giỏ hàng.
▪ Kịch bản:
1. Khách hàng click vào giỏ hàng sau khi mua hàng để có
thể xem được các mặt hàng mình đã mua.
2. Hệ thống hiển thị danh sách các sản phẩm có trong giỏ
hàng của bạn và hai button cancel và button delete.
3. Khách hàng click vào button delete.
4. Hệ thống hiển thị thông báo bạn có chắc chắn muốn xóa
và một button ok
5. Khách hàng click vào nút ok
6. Hệ thống hiển thị tất cả các sản phẩm còn lại trong giỏ
hàng.
Sơ đồ tuần tự của chỉnh sửa giỏ hàng


+ Thanh toán
▪ Tác nhân:thành viên
▪ Mô tả : Cho phép khách hàng tạo đơn hàng để tiến hành thanh toán

giỏ hàng sản phẩm.
▪ Tiền điều kiên: khách hàng đã chọn sản phẩm vào giỏ.
▪ Kịch bản:
Sơ đồ tuần tự.


c. Thiết kế cơ sở dữ liệu

d. Biểu đồ lớp

e. Thiết kế thực thi chức năng chính theo mô hình 3 lớp


❖ Chức năng thêm vào giỏ hàng theo mô hình 3 lớp
★ Bước 1 : Người dùng nhấn vào nút thêm giỏ hàng cho 1 sản phẩm
★ Bước 2 : Tầng trình bày gửi yêu cầu tới tầng nghiệp vụ “muốn sản
phẩm được thêm vào giỏ hàng”
★ Bước 3 : Tầng nghiệp vụ nhận được yêu cầu, hiểu rằng người dùng
muốn một sản phẩm cụ thể được thêm vào giỏ hàng và xử lý yêu cầu.
Tầng nghiệp vụ nói với tầng dữ liệu để cập nhật giỏ hàng của khách
truy cập bằng cách thêm các sản phẩm được lựa chọn. Tầng dữ liệu
lưu trữ và quản lý toàn bộ dữ liệu của trang web, thông tin giỏ hàng.
★ Bước 4: Tầng dữ liệu cập nhật cơ sở dữ liệu và trả về 1 mã thành công
cho tầng nghiệp vụ.
★ Bước 5: Tầng nghiệp vụ xử lý mã trả về và bất kì lỗi nào có thể đã xảy
ra trong tầng dữ liệu trong khi cập nhật cơ sở dữ liệu và sau đó trả về
đầu ra cho tầng trình bày.
★ Bước 6: Tầng trình bày tạo ra 1 giao diện cập nhật của giỏ hàng.
★ Bước 7: Các kết quả trả về được gói lại bằng trang web HTML và
được trả lại cho khách truy cập nơi mà giỏ hàng cập nhật có thể được

nhìn thấy trong quá trình duyệt web của khách truy cập.
❖ Chức năng tìm kiếm sản phẩm theo mô hình 3 lớp


★ Bước 1 : Người dùng gõ tên sản phẩm vào ô tìm kiếm trên giao điện
web và nhấn nút Search
★ Bước 2 : Tầng trình bày gửi yêu cầu tới tầng nghiệp vụ “muốn tìm
kiếm sản phẩm có tên là “…..” ”
★ Bước 3 : Tầng nghiệp vụ nhận được yêu cầu, hiểu rằng người dùng
muốn tìm kiếm một sản phẩm cụ thể có tên là “.....” và xử lý yêu cầu.
Tầng nghiệp vụ nói với tầng dữ liệu để cập nhật danh sách các sản
phẩm có chứa keyword như tìm kiếm. Tầng dữ liệu lưu trữ và quản lý
toàn bộ dữ liệu của sản phẩm..
★ Bước 4: Tầng dữ liệu cập nhật cơ sở dữ liệu và trả về 1 mã thành công
cho tầng nghiệp vụ.
★ Bước 5: Tầng nghiệp vụ xử lý mã trả về và bất kì lỗi nào có thể đã xảy
ra trong tầng dữ liệu trong khi cập nhật cơ sở dữ liệu và sau đó trả về
đầu ra cho tầng trình bày.
★ Bươc 6: Tầng trình bày tạo ra một danh sách sản phẩm có tên tìm
kiếm.
★ Bước 7: Các kết quả trả về được gói lại bằng trang web HTML và
được trả lại cho khách truy cập có thể được nhìn thấy trong quá trình
duyệt web.

f. Chức năng nâng cao
Trên thế giới hiện nay có một số thư viện mã nguồn mở hỗ trợ xây dựng hệ
thống tìm kiếm thông tin như: Lucene, Egothor, Xapian, MG4J, Sphinx… Trong số
các mã nguồn mở này thì Lucene là thư viện mã nguồn mở được nhiều tổ chức, cá
nhân sử dụng nhất, cụ thể: CNET sử dụng Lucene để tìm kiếm danh sách thể loại
sản phẩm, Wikipedia dùng lucene để tìm kiếm nội dung toàn văn bản.

ElasticSearch và Sorl là hai một công cụ tìm kiếm rất mạnh cũng được xây dựng
và phát triển dựa trên nền tảng Lucene,… Vì vậy, chúng em đã lựa chọn
ElasticSearch để sử dụng cho đề tài của mình.
Elasticsearch:
ElasticSearch là một máy tìm kiếm cấp doanh nghiệp (enterprise-level
search engine). Mục tiêu của nó là tạo ra một công cụ, nền tảng hay kỹ thuật tìm
kiếm và phân tích trong thời gian thực, có thể áp dụng hay triển khai một cách dễ
dàng vào nguồn dữ liệu (data sources) khác nhau.


ElasticSearch được phát triển bởi Shay Banon và dựa trên Apache Lucene, là
một bản phân phối mã nguồn mở cho việc tìm kiếm dữ liệu trên máy chủ.
Elasticsearch (một trong những hệ thống tìm kiếm mã nguồn mở phổ biến
nhất hiện nay) có thể phục vụ một lượng lớn requests từ các nền tảng khác nhau.
Elasticsearch: điều làm cho ES thực sự đặc biệt chính là nhờ vào khả năng phục
hồi thông tin của nó. Sự kết hợp của storage và querying/aggregation service đã
làm cho ES thực sự đặc biệt và khác xa 1 công cụ chỉ lưu trữ văn bản.
- Elasticsearch được xây dựng để hoạt động như một server cloud theo cơ
chế của RESTful.
- Kế thừa và phát triển từ Lucene Apache.
- Phát triển bằng ngôn ngữ java.
- Là phần mềm open-source được phát hành theo giất phép của Apache
License.
- Tương tự như Apache Solr
- ELASTIC-SEARCH có thể tích hợp được với tất cả các ứng dụng sử dụng
các loại ngôn ngữ sau: Java, javascipt, Groovy, .NET, PHP, Perl, Python, Ruby
- Những ai đã dùng ElasticSearch: Mozilla, Quora, SoundCloud, GitHub,
Stack Exchange, Center for Open Science, Reverb, Netflix và có cả Sendo của Việt
Nam



- Người dùng chỉ truy cập trên dữ liệu của ElasticSearch
- Người quản trị thì truy cập trực tiếp trên Database SQL (MySQL) để cập nhật
thêm xóa sửa và nó tự động cập nhật sang ElasticSearch
Trong Elasticsearch , sử dụng một cấu trúc được gọi là inverted index . Nó được
thiết kế để cho phép tìm kiếm full-text search. Cách thức của nó khá đơn giản, các
văn bản được phân tách ra thành từng từ có nghĩa sau đó sẽ được map xem thuộc
văn bản nào. Khi search tùy thuộc vào loại search sẽ đưa ra kết quả cụ thể.
Ví dụ : Chúng ta có 2 văn bản cụ thể như sau :
1,The quick brown fox jumped over the lazy dog
2,Quick brown foxes leap over lazy dogs in summer


Các khái niệm cơ bản:
Document là một JSON object với một số dữ liệu. Hiểu 1 cách cơ bản thì đây là
đơn vị nhỏ nhất để lưu trữ dữ liệu trong Elasticsearch.
Shard là đối tượng của Lucene, là tập con các documents của 1 Index. Một Index
có thể được chia thành nhiều shard. Mỗi node bao gồm nhiều Shard. Chính vì thế
Shard mà là đối tượng nhỏ nhất, hoạt động ở mức thấp nhất, đóng vai trò lưu trữ dữ
liệu. Chúng ta gần như không bao giờ làm việc trực tiếp với các Shard vì
Elasticsearch đã support toàn bộ việc giao tiếp cũng như tự động thay đổi các
Shard khi cần thiết. Có 2 loại Shard là : Primary Shard và Replica Shard.
+ Primary Shard là sẽ lưu trữ dữ liệu và đánh index . Sau khi đánh xong dữ
liệu sẽ được vận chuyển tới các Replica Shard. Mặc định của Elasticsearch là mỗi
index sẽ có 5 Primary Shard và với mỗi Primary Shard thì sẽ đi kèm với 1 Replica
Shard.
+ Replica Shard là nơi lưu trữ dữ liệu nhân bản của Primary Shard. Replica
Shard có vai trò đảm bảo tính toàn vẹn của dữ liệu khi Primary Shard xảy ra vấn
đề. Ngoài ra Replica Shard có thể giúp tăng cường tốc độ tìm kiếm vì chúng ta có
thể setup lượng Replica Shard nhiều hơn mặc định của ES

Node Là trung tâm hoạt động của Elasticsearch. Là nơi lưu trữ dữ liễu ,tham gia
thực hiện đánh index cúa cluster cũng như thực hiện các thao tác tìm kiếm Mỗi
node được định danh bằng 1 unique name
Cluster Tập hợp các nodes hoạt động cùng với nhau, chia sẽ cùng thuộc tính
cluster.name. Chính vì thế Cluster sẽ được xác định bằng 1 'unique name'. Việc
định danh các Cluster trùng tên sẽ gây nên lỗi cho các node vì vậy khi setup cần
hết sức chú ý điểm này.
+ Mỗi Cluster có một Node chính (master), được lựa chọn một cách tự động
và có thể thay thế nếu sự cố xảy ra. Một Cluster có thể gồm 1 hoặc nhiều Nodes.


Các Nodes có thể hoạt động trên cùng 1 server . Tuy nhiên trong thực tế, một
Cluster sẽ gồm nhiều Nodes hoạt động trên các server khác nhau để đảm bảo nếu 1
server gặp sự cố thì server khác (node khác) có thể hoạt động đầy đủ chức năng so
với khi có 2 servers. Các node có thể tìm thấy nhau để hoạt động trên cùng 1
cluster qua giao thức unicast.
+ Chức năng chính của Cluster đó chính là quyết định xem shards nào được
phân bổ cho node nào và khi nào thì di chuyển các Cluster để cân bằng lại Cluster
IV. THỰC THI, KẾT QUẢ
a. Công nghệ sử dụng, server cài đặt
+ Sử dụng MySql vẽ cơ sở dữ liệu
+ Sublime text code giao diện
+ Visual Paradigm để thiết kế
+ Netbean code java, Tomcat để chạy
+ Code theo mô hình 3 lớp
b. Màn hình chính kết quả
- Trang chủ



×