Hướng dẫn Cài đặt ElasticSearch trên Windows

Giới thiệu về ElasticSearch

ElasticSearch (viết tắt là ES) là một công cụ tìm kiếm và phân tích dữ liệu hiệu suất cao, được thiết kế để xử lý lượng lớn dữ liệu văn bản một cách phân tán. Nó là một công cụ tìm kiếm doanh nghiệp phổ biến nhất hiện nay, cho phép tìm kiếm gần thời gian thực và được xây dựng trên nền tảng Java.

Lợi ích của ElasticSearch

  • Cấu trúc phân tán: Khả năng mở rộng và chịu lỗi cao.
  • Tìm kiếm toàn văn bản mạnh mẽ: Hiệu suất tìm kiếm vượt trội.
  • Hỗ trợ đa ngôn ngữ: Phù hợp với nhiều ngôn ngữ lập trình và dữ liệu.
  • Tính hiệu năng: Tốc độ xử lý nhanh.
  • Tính thời gian thực: Dữ liệu được index và có thể tìm kiếm ngay lập tức.
  • Tính dễ sử dụng: Giao diện API đơn giản và trực quan.

Ứng dụng của ElasticSearch

  • Tìm kiếm toàn văn bản: Các hệ thống tìm kiếm như Google, Baidu, và các trang thương mại điện tử như JD.com.
  • Phân tích日志:
  • Quyết định kinh doanh thông minh: Các hệ thống phân tích dữ liệu cho các nền tảng thương mại điện tử như JD.com và Taobao.

Hướng dẫn Cài đặt ElasticSearch (Windows)

Yêu cầu hệ thống

ElasticSearch được phát triển bằng Java, do đó cần cài đặt JDK trước:

  • ElasticSearch 7.x yêu cầu Java 11 hoặc cao hơn.
  • ElasticSearch 8.x yêu cầu Java 17 hoặc cao hơn.

Tải xuống và giải nén

Tải gói cài đặt tương ứng từ trang web chính thức: Download Elasticsearch | Elastic

Cấu hình biến môi trường

  • ES_HOME: Biến môi trường này cần được thiết lập để trỏ đến thư mục cài đặt Elasticsearch.
  • ES_JAVA_HOME: Biến môi trường này dùng để chỉ định đường dẫn đến môi trường Java Runtime Environment (JRE) mà ElasticSearch sẽ sử dụng. (Từ phiên bản 7.x trở lên đã bao gồm JDK).

Chỉnh sửa tệp cấu hình ES

  1. Tắt tính năng bảo mật (khuyến nghị cho người mới bắt đầu): Mở tệp config\elasticsearch.yml và thêm dòng sau:
    security.enabled: false
    
  2. Giải quyết vấn đề mã hóa ký tự trong log: Mở tệp config\jvm.options và thêm vào cuối:
    -Dfile.encoding=UTF-8
    

Khởi động Elasticsearch

Chạy tệp bin\elasticsearch.bat để khởi động dịch vụ ES. Để kiểm tra cài đặt thành công, mở trình duyệt và truy cập http://localhost:9200.

Quản lý dữ liệu cơ bản trong Elasticsearch

Nắm vững các khái niệm cốt lõi

Tìm hiểu về kiến thức nền tảng của công cụ tìm kiếm

  • Tìm kiếm toàn văn bản (Full-Text Search): Là một kỹ thuật để truy xuất nhanh chóng thông tin chứa từ khóa hoặc cụm từ chỉ định từ một lượng lớn dữ liệu văn bản.
  • Chỉ mục đảo (Inverted Index): Là một cấu trúc dữ liệu ánh xạ các từ khóa đến các tài liệu chứa chúng. (Tìm tài liệu thông qua từ khóa).
  • Quá trình xây dựng Chỉ mục đảo:
    1. Xử lý trước tài liệu.
    2. Xây dựng từ điển.
    3. Tạo danh sách đảo.
    4. Lưu trữ tệp index.
    5. Xử lý truy vấn.

Nắm vững các thuật ngữ phổ biến trong ES

  • Chỉ mục (Index): Tương tự như một bảng trong MySQL.
  • Bản đồ (Mapping): Tương tự như cấu trúc Schema của bảng trong MySQL.
  • Tài liệu (Document): Tương tự như một dòng ghi trong bảng MySQL.

Chi tiết về các thao tác với Chỉ mục

Các kịch bản thực tế

  • Lưu trữ dữ liệu của các loại nghiệp vụ khác nhau vào các chỉ mục riêng biệt:
    • Chỉ mục cho nghiệp vụ Twitter: twitter_index
    • Chỉ mục cho nghiệp vụ tin tức: tin_tuc_index
    • Chỉ mục cho nghiệp vụ blog: blog_index
  • Phân chia lưu trữ chỉ mục log theo ngày:
    • Log tháng 7 năm 2024: log_202407
    • Log tháng 8 năm 2024: log_202408

Các thao tác cơ bản

(Sử dụng công cụ Kibana đồ họa, chi tiết có thể tham khảo)

  • Tạo chỉ mục:
    POST /twitter_index
    {
      "settings": {
        // Cài đặt chỉ mục
      },
      "mappings": {
        "properties": {
          // Ánh xạ trường
        }
      }
    }
    
  • Xóa chỉ mục:
    DELETE /twitter_index
    
  • Truy vấn chỉ mục:
    GET /twitter_index
    
  • Chỉnh sửa chỉ mục:
    PUT /twitter_index/_settings
    PUT /twitter_index/_mapping
    

Chi tiết về bí danh Chỉ mục (Index Alias)

Thẻ: Elasticsearch Java Search Engine Full-Text Search Inverted Index

Đăng vào ngày 7 tháng 7 lúc 03:23