Cách tạo chỉ số Elasticsearch

How Create Elasticsearch Indices



Elasticsearch là một phần của ngăn xếp ELK phổ biến được sử dụng để phân tích nhật ký và tìm kiếm. Các ứng dụng và hệ thống liên tục ghi dữ liệu có thể rất hữu ích để khắc phục sự cố và theo dõi các sự cố. Sử dụng ngăn xếp ELK, bạn có các công cụ tốt nhất để thực hiện các tác vụ này một cách nhanh chóng và rất dễ dàng.

Trong hướng dẫn nhanh này, chúng ta sẽ xem xét Elasticsearch, cụ thể là cách tạo các chỉ mục trong công cụ Elasticsearch. Mặc dù bạn không cần bất kỳ kiến ​​thức toàn diện nào về ngăn xếp ELK để làm theo hướng dẫn này, nhưng bạn có thể hiểu cơ bản về các chủ đề sau:







  • Sử dụng thiết bị đầu cuối, cụ thể là cURL
  • Kiến thức cơ bản về API và JSON
  • Thực hiện yêu cầu HTTP

GHI CHÚ: Hướng dẫn này cũng giả định rằng bạn đã cài đặt và chạy Elasticsearch trên hệ thống của mình.



Chỉ số Elasticsearch là gì?

Không đơn giản hóa hoặc phức tạp quá mức, chỉ mục Elasticsearch là một tập hợp các tài liệu JSON có liên quan.



Như đã đề cập trong một bài trước, các chỉ mục Elasticsearch là các đối tượng JSON — được coi là đơn vị lưu trữ cơ bản trong Elasticsearch. Các tài liệu JSON liên quan này được lưu trữ trong một đơn vị duy nhất tạo nên một chỉ mục. Hãy coi các tài liệu Elasticsearch như các bảng trong cơ sở dữ liệu quan hệ.





Hãy liên hệ chỉ mục Elasticsearch như một cơ sở dữ liệu trong thế giới SQL.

  • MySQL => Cơ sở dữ liệu => Bảng => Cột / Hàng
  • Elasticsearch => Chỉ số => Loại => Tài liệu JSON có thuộc tính

Cách tạo chỉ mục Elasticsearch

Elasticsearch sử dụng API REST mạnh mẽ và trực quan để hiển thị các dịch vụ của nó. Chức năng này cho phép bạn sử dụng các yêu cầu HTTP để thực hiện các hoạt động trên cụm Elasticsearch. Do đó, chúng tôi sẽ sử dụng API tạo chỉ mục để tạo chỉ mục mới.



Đối với hướng dẫn này, chúng tôi sẽ sử dụng cURL để gửi các yêu cầu và duy trì tính toàn vẹn và khả năng sử dụng cho tất cả người dùng. Tuy nhiên, nếu bạn gặp lỗi với cURL, hãy cân nhắc sử dụng Kibana Console.

Cú pháp để tạo chỉ mục mới trong cụm Elasticsearch là:

ĐẶT /

Để tạo chỉ mục, tất cả những gì bạn phải làm là chuyển tên chỉ mục mà không có các tham số khác, điều này tạo chỉ mục bằng cách sử dụng cài đặt mặc định.

Bạn cũng có thể chỉ định các tính năng khác nhau của chỉ mục, chẳng hạn như trong nội dung chỉ mục:

  • Cài đặt cho chỉ mục
  • Chỉ mục bí danh
  • Ánh xạ cho các trường chỉ mục

Tên chỉ mục là một tham số bắt buộc; nếu không, bạn sẽ gặp lỗi cho URIL (/)

curl -X PUT localhost: 9200
{'error': 'Phương thức HTTP không chính xác cho uri [/] và phương thức [PUT], được phép: [DELETE, HEAD, GET]', 'status': 405}

Để tạo một chỉ mục mới với tên single_index, chúng tôi chuyển yêu cầu:

PUT / single_index

Đối với cURL, hãy sử dụng lệnh:

curl -X PUT 'localhost: 9200 / single_index? pretty'

Lệnh này sẽ dẫn đến Trạng thái HTTP 200 OK và một thông báo có xác nhận: true như:

{
công nhận: đúng,
'shards_acknowledged': true,
'index': 'single_index'
}

Yêu cầu trên tạo một chỉ mục single_index với cài đặt mặc định vì chúng tôi không chỉ định bất kỳ cấu hình nào.

Quy tắc đặt tên chỉ mục

Khi tạo tên cho các chỉ số Elasticsearch, bạn phải tuân thủ các tiêu chuẩn đặt tên sau:

  1. Tên chỉ mục chỉ được viết thường.
  2. Tên chỉ mục không được bắt đầu bằng dấu gạch ngang (-), dấu gạch dưới (_) hoặc dấu cộng (+)
  3. Những cái tên không được. hoặc ..
  4. Tên chỉ mục không được bao gồm các ký tự đặc biệt như: , /, *,?,, |, `` (Ký tự khoảng trắng), ,, #
  5. Độ dài của tên chỉ mục phải nhỏ hơn 255 byte. Các ký tự nhiều byte sẽ được tính trong tổng độ dài của tên chỉ mục. Ví dụ: nếu một ký tự đơn lẻ có độ dài 8 byte, thì tổng độ dài còn lại của tên là 255 - 8
  6. Trong phiên bản Elasticsearch mới nhất, các tên bắt đầu bằng a. được dành riêng cho các chỉ số ẩn và chỉ số nội bộ được sử dụng bởi các plugin Elasticsearch.

Cách tạo phần thân chỉ mục

Khi sử dụng yêu cầu PUT để tạo chỉ mục, bạn có thể chuyển các đối số khác nhau xác định cài đặt cho chỉ mục bạn muốn tạo. Các giá trị bạn có thể chỉ định trong phần nội dung bao gồm:

  • Bí danh: Chỉ định tên bí danh cho chỉ mục bạn muốn tạo; tham số này là tùy chọn.
  • Cài đặt: Điều này xác định các tùy chọn cấu hình cho chỉ mục bạn muốn tạo. Nếu bạn không chỉ định bất kỳ tham số nào, chỉ mục sẽ được tạo bằng cách sử dụng cấu hình mặc định.
  • Ánh xạ: Điều này xác định ánh xạ cho các trường trong chỉ mục. Các thông số kỹ thuật bạn có thể bao gồm trong ánh xạ bao gồm:
    • Tên trường
    • Kiểu dữ liệu
    • Tham số ánh xạ

Để biết ví dụ về cách tạo chỉ mục với các cấu hình nội dung, hãy xem xét yêu cầu bên dưới:

PUT / single_index_with_body
{
'cài đặt': {
'number_of_shards': 2,
'number_of_replicas': 2
},
ánh xạ: {
'tính chất': {
'field1': {'type': 'object'}
}
}
}

Đối với yêu cầu tương đương cURL:

curl -XPUT 'http: // localhost: 9200 / single_index_with_body' -H 'Content-Type: application / json' -d '{' settings ': {' number_of_shards ': 2,' number_of_replicas ': 2},' mappings ' : {'properties': {'field1': {'type': 'object'}}}} '

Yêu cầu trên tạo một chỉ mục mới với tên single_index_with_body với 2 số phân đoạn và 2 bản sao. Nó cũng tạo một ánh xạ với một trường tên field1 và nhập như một đối tượng JSON.

Khi bạn gửi yêu cầu, bạn sẽ nhận được phản hồi với trạng thái của yêu cầu là:

{
công nhận: đúng,
'shards_acknowledged': true,
'index': 'single_index_with_body'
}

Acknowledged cho biết liệu chỉ mục có được tạo thành công trong cụm hay không, trong khi shards_acknowledged cho biết liệu số lượng bản sao phân đoạn được yêu cầu có được bắt đầu cho mọi phân đoạn trong chỉ mục được chỉ định trước khi hết thời gian hay không.

Cách xem chỉ mục Elasticsearch

Để xem thông tin về chỉ mục bạn đã tạo, hãy sử dụng yêu cầu tương tự như yêu cầu tạo chỉ mục, nhưng sử dụng phương thức HTTP thay vì PUT như:

GET / single_index_with_body

Đối với cURL,

curl -XGET http: // localhost: 9200 / single_index_with_body

Lệnh này sẽ cung cấp cho bạn thông tin chi tiết về chỉ mục được yêu cầu như:

{
'single_index_with_body': {
'bí danh': {},
'ánh xạ': {
'tính chất' : {
'field1': {
'type': 'object'
}
}
},
'cài đặt': {
'mục lục' : {
'định tuyến' : {
'phân bổ': {
'bao gồm' : {
'_tier_preference': 'data_content'
}
}
},
'number_of_shards': '2',
'shared_name': 'single_index_with_body',
'create_date': '1611045687208',
'number_of_replicas': '2',
'uuid': '3TRkO7xmQcSUOOGtb6pXVA',
'phiên bản' : {
'đã tạo': '7100299'
}
}
}
}
}

Phần kết luận

Hướng dẫn này đã thảo luận về cách làm việc với Elasticsearch để tạo API chỉ mục nhằm tạo các chỉ mục mới. Chúng tôi cũng thảo luận về cách tạo tên phù hợp cho các chỉ số và cài đặt cấu hình.

Bằng cách sử dụng hướng dẫn này, bây giờ bạn có thể tạo và xem các chỉ mục bằng API Elasticsearch.