Đây là các mô-đun được tạo cho mọi chỉ mục và kiểm soát cài đặt và hành vi của các chỉ số. Ví dụ: có bao nhiêu phân đoạn mà một chỉ mục có thể sử dụng hoặc số lượng bản sao mà một phân đoạn chính có thể có cho chỉ mục đó, v.v. Có hai loại cài đặt chỉ mục –
- Tĩnh – Chúng chỉ có thể được đặt tại thời điểm tạo chỉ mục hoặc trên một chỉ mục đã đóng.
- Động – Chúng có thể được thay đổi trên chỉ mục trực tiếp.
Cài đặt chỉ mục tĩnh
Bảng sau đây cho thấy danh sách các cài đặt chỉ mục tĩnh:
Cài đặt | Giá trị có thể | Sự miêu tả |
index.number_of_shards | Mặc định là 5, tối đa 1024 | Số lượng phân đoạn chính mà một chỉ mục phải có. |
index.shard.check_on_startup | Giá trị mặc định là false. Có thể đúng | Nên kiểm tra xem các mảnh vỡ có bị hỏng hay không trước khi mở. |
index.codec | Nén LZ4. | Loại nén được sử dụng để lưu trữ dữ liệu. |
index.routing_partition_size | 1 | Số lượng phân đoạn mà một giá trị định tuyến tùy chỉnh có thể chuyển đến. |
index.load_fixed_bitset_filters_eagerly | sai | Cho biết liệu các bộ lọc được lưu trong bộ nhớ đệm có được tải trước cho các truy vấn lồng nhau hay không |
Cài đặt chỉ mục động
Bảng sau đây hiển thị danh sách các cài đặt chỉ mục động:
Cài đặt | Giá trị có thể | Sự miêu tả |
index.number_of_replicas | Mặc định là 1 | Số lượng bản sao mà mỗi phân đoạn chính có. |
index.auto_expand_replicas | Dấu gạch ngang phân tách giới hạn dưới và trên (0-5) | Tự động mở rộng số lượng bản sao dựa trên số lượng nút dữ liệu trong cụm. |
index.search.idle. after | 30 giây | Thời gian một phân đoạn không thể nhận được tìm kiếm hoặc nhận được yêu cầu cho đến khi nó được coi là tìm kiếm không hoạt động. |
index.refresh_interval | 1 giây | Tần suất thực hiện thao tác làm mới, thao tác này làm cho các thay đổi gần đây đối với chỉ mục hiển thị cho tìm kiếm. |
Elasticsearch – IngestNode
Đôi khi chúng ta cần chuyển đổi một tài liệu trước khi lập chỉ mục cho nó. Ví dụ: chúng tôi muốn xóa một trường khỏi tài liệu hoặc đổi tên một trường và sau đó lập chỉ mục nó. Điều này được xử lý bởi nút Ingest.
Mọi nút trong cụm đều có khả năng nhập nhưng nó cũng có thể được tùy chỉnh để chỉ được xử lý bởi các nút cụ thể.
Các bước liên quan
Có hai bước liên quan đến hoạt động của nút nhập:
- Tạo đường dẫn
- Tạo tài liệu
Tạo một đường ống
Đầu tiên, tạo một đường dẫn có chứa các bộ xử lý và sau đó thực hiện đường dẫn, như được hiển thị bên dưới:
PUT _ingest/pipeline/int-converter
{
"description": "converts the content of the seq field to an integer",
"processors" : [
{
"convert" : {
"field" : "seq",
"type": "integer"
}
}
]
}
Khi chạy đoạn mã trên, chúng tôi nhận được kết quả sau:
{
"acknowledged" : true
}
Tạo tài liệu
Tiếp theo, chúng tôi tạo một tài liệu bằng cách sử dụng bộ chuyển đổi đường ống.
PUT /logs/_doc/1?pipeline=int-converter
{
"seq":"21",
"name":"Tutorialspoint",
"Addrs":"Hyderabad"
}
Khi chạy đoạn mã trên, chúng tôi nhận được phản hồi như hình dưới đây:
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1
}
Tiếp theo, chúng tôi tìm kiếm tài liệu đã tạo ở trên bằng cách sử dụng lệnh GET như hình dưới đây:
GET /logs/_doc/1
Khi chạy đoạn mã trên, chúng tôi nhận được kết quả sau:
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"Addrs" : "Hyderabad",
"name" : "Tutorialspoint",
"seq" : 21
}
}
Bạn có thể thấy ở trên rằng 21 đã trở thành một số nguyên.
Không có đường ống
Bây giờ chúng ta tạo một tài liệu mà không cần sử dụng đường dẫn.
PUT /logs/_doc/2
{
"seq":"11",
"name":"Tutorix",
"Addrs":"Secunderabad"
}
GET /logs/_doc/2
Khi chạy đoạn mã trên, chúng tôi nhận được kết quả sau:
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "2",
"_version" : 1,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"seq" : "11",
"name" : "Tutorix",
"Addrs" : "Secunderabad"
}
}
Bạn có thể thấy ở trên rằng 11 là một chuỗi không có đường ống được sử dụng.
Elasticsearch – Quản lý Vòng đời Chỉ mục
Quản lý vòng đời chỉ mục liên quan đến việc thực hiện các hành động quản lý dựa trên các yếu tố như kích thước phân đoạn và các yêu cầu về hiệu suất. Các API quản lý vòng đời chỉ mục (ILM) cho phép bạn tự động hóa cách bạn muốn quản lý các chỉ số của mình theo thời gian. Chương này cung cấp danh sách các API ILM và cách sử dụng chúng.
API quản lý chính sách
Tên API | Mục đích | Thí dụ |
Chuyển sang API bước vòng đời. | Di chuyển thủ công một chỉ mục vào bước đã chỉ định và thực hiện bước đó. | POST_ilm / move / index |
Thử lại chính sách. | Đặt chính sách trở lại bước xảy ra lỗi và thực hiện bước đó. | POST index / _ilm / retry |
Xóa chính sách khỏi chỉnh sửa API chỉ mục. | Loại bỏ chính sách vòng đời được chỉ định và ngừng quản lý chỉ mục được chỉ định. Nếu một mẫu chỉ mục được chỉ định, hãy xóa các chính sách đã chỉ định khỏi tất cả các chỉ số phù hợp. | POST index / _ilm / remove |
API quản lý hoạt động
Tên API | Mục đích | Thí dụ |
Nhận API trạng thái quản lý vòng đời chỉ mục. | Trả về trạng thái của plugin ILM. Trường chế độ hoạt động trong phản hồi hiển thị một trong ba trạng thái: BẮT ĐẦU, DỪNG hoặc DỪNG. | GET / _ilm / trạng thái |
Bắt đầu API quản lý vòng đời của chỉ mục. | Khởi động plugin ILM nếu nó hiện đang bị dừng. ILM được khởi động tự động khi cụm được hình thành. | POST / _ilm / start |
Dừng API quản lý vòng đời của chỉ mục. | Tạm dừng tất cả các hoạt động quản lý vòng đời và dừng plugin ILM. Điều này hữu ích khi bạn đang thực hiện bảo trì trên cụm và cần ngăn ILM thực hiện bất kỳ hành động nào trên các chỉ số của bạn. | ĐĂNG / _ilm / dừng |
Giải thích về vòng đời API. | Truy xuất thông tin về trạng thái vòng đời hiện tại của chỉ mục, chẳng hạn như giai đoạn, hành động và bước hiện đang thực thi. Hiển thị khi chỉ mục được nhập vào từng chỉ mục, định nghĩa của giai đoạn đang chạy và thông tin về bất kỳ lỗi nào. | GET chỉ mục / _ilm / giải thích |