Elasticsearch

Tạo chỉ mục

API này giúp bạn tạo chỉ mục. Chỉ mục có thể được tạo tự động khi người dùng chuyển các đối tượng JSON đến bất kỳ chỉ mục nào hoặc nó có thể được tạo trước đó. Để tạo chỉ mục, bạn chỉ cần gửi một yêu cầu PUT với cài đặt, ánh xạ và bí danh hoặc chỉ một yêu cầu đơn giản không có nội dung.

PUT colleges

Khi chạy đoạn mã trên, chúng tôi nhận được kết quả như hình dưới đây:

{
   "acknowledged" : true,
   "shards_acknowledged" : true,
   "index" : "colleges"
}

Chúng ta cũng có thể thêm một số cài đặt vào lệnh trên – PUT colleges

{
  "settings" : {
      "index" : {
         "number_of_shards" : 3,
         "number_of_replicas" : 2
      }
   }
}

Khi chạy đoạn mã trên, chúng tôi nhận được kết quả như hình dưới đây:

{
   "acknowledged" : true,
   "shards_acknowledged" : true,
   "index" : "colleges"
}

Xóa chỉ mục

API này giúp bạn xóa bất kỳ chỉ mục nào. Bạn chỉ cần chuyển một yêu cầu xóa với tên của Chỉ mục cụ thể đó.

DELETE /colleges

Bạn có thể xóa tất cả các chỉ số chỉ bằng cách sử dụng _all hoặc *.

Nhận chỉ mục

API này có thể được gọi bằng cách chỉ gửi yêu cầu nhận đến một hoặc nhiều chỉ số. Điều này trả về thông tin về chỉ mục.

GET colleges

Khi chạy đoạn mã trên, chúng tôi nhận được kết quả như hình dưới đây:

{
   "colleges" : {
      "aliases" : {
         "alias_1" : { },
         "alias_2" : {
            "filter" : {
               "term" : {
                  "user" : "pkay"
               }
            },
            "index_routing" : "pkay",
            "search_routing" : "pkay"
         }
      },
      "mappings" : { },
      "settings" : {
         "index" : {
            "creation_date" : "1556245406616",
            "number_of_shards" : "1",
            "number_of_replicas" : "1",
            "uuid" : "3ExJbdl2R1qDLssIkwDAug",
            "version" : {
               "created" : "7000099"
            },
            "provided_name" : "colleges"
         }
      }
   }
}

Bạn có thể lấy thông tin của tất cả các chỉ số bằng cách sử dụng _all hoặc *.

Chỉ mục Tồn tại

Elasticsearch - API chỉ mục

Sự tồn tại của một chỉ mục có thể được xác định bằng cách chỉ gửi một yêu cầu nhận đến chỉ mục đó. Nếu phản hồi HTTP là 200, nó tồn tại; nếu nó là 404, nó không tồn tại.

HEAD colleges

Khi chạy đoạn mã trên, chúng tôi nhận được kết quả như hình dưới đây:

200-OK

Cài đặt chỉ mục

Bạn có thể nhận cài đặt chỉ mục bằng cách thêm từ khóa _settings vào cuối URL.

GET /colleges/_settings

Khi chạy đoạn mã trên, chúng tôi nhận được kết quả như hình dưới đây:

{
   "colleges" : {
      "settings" : {
         "index" : {
            "creation_date" : "1556245406616",
            "number_of_shards" : "1",
            "number_of_replicas" : "1",
            "uuid" : "3ExJbdl2R1qDLssIkwDAug",
            "version" : {
               "created" : "7000099"
            },
            "provided_name" : "colleges"
         }
      }
   }
}

Số liệu thống kê

API này giúp bạn trích xuất số liệu thống kê về một chỉ mục cụ thể. Bạn chỉ cần gửi yêu cầu nhận với URL chỉ mục và từ khóa _stats ở cuối.

GET /_stats

Khi chạy đoạn mã trên, chúng tôi nhận được kết quả như hình dưới đây:

………………………………………………
},
   "request_cache" : {
      "memory_size_in_bytes" : 849,
      "evictions" : 0,
      "hit_count" : 1171,
      "miss_count" : 4
   },
   "recovery" : {
      "current_as_source" : 0,
      "current_as_target" : 0,
      "throttle_time_in_millis" : 0
   }
} ………………………………………………

Tuôn ra

Quá trình xóa chỉ mục đảm bảo rằng bất kỳ dữ liệu nào hiện chỉ tồn tại trong nhật ký giao dịch cũng được lưu giữ vĩnh viễn trong Lucene. Điều này làm giảm thời gian khôi phục vì dữ liệu đó không cần được lập chỉ mục lại từ nhật ký giao dịch sau khi Lucene được lập chỉ mục được mở.

POST colleges/_flush

Khi chạy đoạn mã trên, chúng tôi nhận được kết quả như hình dưới đây:

{
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   } 
}

Elasticsearch – Cat APIs

Thông thường, kết quả từ các API Elasticsearch khác nhau được hiển thị ở định dạng JSON. Nhưng JSON không phải lúc nào cũng dễ đọc. Vì vậy, tính năng API mèo có sẵn trong Elasticsearch giúp quản lý việc đưa ra định dạng in kết quả dễ đọc và dễ hiểu hơn. Có nhiều tham số khác nhau được sử dụng trong API cat mà máy chủ có mục đích khác nhau, chẳng hạn – thuật ngữ V tạo ra đầu ra dài dòng.

Hãy để chúng tôi tìm hiểu về API mèo chi tiết hơn trong chương này.

Dài dòng

Đầu ra dài dòng cung cấp một màn hình hiển thị đẹp mắt về kết quả của một lệnh mèo. Trong ví dụ dưới đây, chúng tôi nhận được thông tin chi tiết về các chỉ số khác nhau có trong cụm.

GET /_cat/indices?v

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:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open schools RkMyEn2SQ4yUgzT6EQYuAA 1 1 2 1 21.6kb 21.6kb
yellow open index_4_analysis zVmZdM1sTV61YJYrNXf1gg 1 1 0 0 283b 283b
yellow open sensor-2018-01-01 KIrrHwABRB-ilGqTu3OaVQ 1 1 1 0 4.2kb 4.2kb
yellow open colleges 3ExJbdl2R1qDLssIkwDAug 1 1 0 0 283b 283b

Tiêu đề

Tham số h, còn được gọi là tiêu đề, được sử dụng để chỉ hiển thị các cột được đề cập trong lệnh.

GET /_cat/nodes?h=ip,port

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:

127.0.0.1 9300

Sắp xếp

Lệnh sắp xếp chấp nhận chuỗi truy vấn có thể sắp xếp bảng theo cột được chỉ định trong truy vấn. Sắp xếp mặc định là tăng dần nhưng điều này có thể được thay đổi bằng cách thêm: desc vào một cột.

Ví dụ dưới đây, đưa ra kết quả của các mẫu được sắp xếp theo thứ tự giảm dần của các mẫu chỉ mục đã phân loại.

GET _cat/templates?v&s=order:desc,index_patterns

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:

name index_patterns order version
.triggered_watches [.triggered_watches*] 2147483647
.watch-history-9 [.watcher-history-9*] 2147483647
.watches [.watches*] 2147483647
.kibana_task_manager [.kibana_task_manager] 0 7000099
name index_patterns order version
.triggered_watches [.triggered_watches*] 2147483647
.watch-history-9 [.watcher-history-9*] 2147483647
.watches [.watches*] 2147483647
.kibana_task_manager [.kibana_task_manager] 0 7000099

Đếm

Tham số đếm cung cấp số lượng tổng số tài liệu trong toàn bộ cụm.

GET /_cat/count?v

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:

epoch timestamp count
1557633536 03:58:56 17809

Elasticsearch – Cluster APIs (xem thêm)

Để lại một bình luận