07/01/2019, 14:54

Elasticsearch dưới góc nhìn đơn giản hơn? (Phần 2)

Tiếp nối phần trước, phần này mình sẽ xây dựng 1 Demo nho nhỏ sử dụng Rails thuần kết hợp với gem Searckick để Implement Elasticsearch nha ^^ Để các bạn có 1 cái nhìn trực quan hơn khi sử dụng Elasticsearch mình xây dựng 1 Database nho nhỏ. Bài toán cụ thể như sau: "Tìm kiếm danh sách cầu ...

Tiếp nối phần trước, phần này mình sẽ xây dựng 1 Demo nho nhỏ sử dụng Rails thuần kết hợp với gem Searckick để Implement Elasticsearch nha ^^ Để các bạn có 1 cái nhìn trực quan hơn khi sử dụng Elasticsearch mình xây dựng 1 Database nho nhỏ. Bài toán cụ thể như sau:

"Tìm kiếm danh sách cầu thủ bóng đá theo các thông tin cơ bản như tên, tên đầy đủ, ngày tháng năm sinh, chiều cao, cân năng, quốc tịch, châu lục và các câu lạc bộ đã thi đấu"

OK, giờ chúng ta đi nàooo !!!

I. Cài cắm 1 số thứ

1.1 Cài Elasticsearch

  • Để sử dụng được Elasticsearch trước hết chúng ta cần cài cắm 1 chút, hiểu đơn giản thì ES là 1 tool, muốn dùng thì phải cài nó :v
  • Cài cắm ES khá đơn giản và có nhiều cách, cụ thể các bạn có thể tự tìm kiếm trên Google nhé. Để chắc chắn mình đã cài thành công thì các bạn mở cổng http://localhost:9200/ trên trình duyệt, nếu có response trả về kiểu kiểu như thế này là oke rồi đó
{
    name: "",
    cluster_name: "elasticsearch",
    cluster_uuid: "",
    version: {
    number: "6.2.0",
    build_hash: "",
    build_date: "2018",
    build_snapshot: ,
    lucene_version: "7.2.1",
    minimum_wire_compatibility_version: "5.6.0",
    minimum_index_compatibility_version: "5.0.0"
    },
    tagline: "You Know, for Search"
}

Tip 1: Chú ý phiên bản ES khi cài, vì Syntax các version có thể khác nhau 1 vài chỗ dẫn đến những lỗi syntax k mong muốn (kiểu như 1 máy ver 2.x.x và 1 máy ver 6.x.x là không ổn) Tip 2: Khi muốn thay đổi cài đặt ES cần restart hoặc stop/start server ES bằng command

sudo service elasticsearch start
#tương tự với: stop và restart

1.2 Cài Plugin Elasticsearch

  • Muốn sử dụng 1 số tính năng đặc biệt của Elasticsearch chúng ta cần cài cắm các Plugin nhất định, ví dụ: muốn search file PDF, .DOCX ... thì cần cài Ingest Attachment Processor Plugin
  • Trong Demo này, ví dụ mình muốn search bằng Tiếng Việt, kiểu search tên có dấu của Đặng Văn Lâm (tuyển Việt Nam) chẳng hạn =)) thì cần cài Plugin hỗ trợ phân tích ngôn ngữ tiếng Việt Analysis Vietnamese Plugin vì mặc định ES sẽ là tiếng Anh rồi             </div>
            
            <div class=
0