0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng Dẫn Sử Dụng Aggregations API trong Elasticsearch để Phân Tích Dữ Liệu

Đăng vào 1 tháng trước

• 3 phút đọc

Chủ đề:

Elasticsearch

Elasticsearch - Aggregations API: Phân Tích Dữ Liệu Hiệu Quả

Khi làm việc với Elasticsearch, việc chỉ sử dụng tính năng tìm kiếm đôi khi là chưa đủ. Để có cái nhìn sâu sắc hơn về dữ liệu của bạn, việc áp dụng các aggregations là rất cần thiết. Bài viết này sẽ giới thiệu về Aggregations API và cách áp dụng nó để phân tích dữ liệu một cách hiệu quả.

Tại Sao Nên Sử Dụng Aggregations?

Aggregations cho phép người dùng nhóm và tổng hợp dữ liệu theo những tiêu chí nhất định, giúp tiết kiệm thời gian và công sức để phân tích dữ liệu. Ví dụ, bạn có thể dễ dàng biết được số lượng sách được phát hành bởi mỗi nhà xuất bản (publisher).

Ví Dụ Cụ Thể Về Terms Aggregations

Đếm Số Lượng Sách Theo Publisher

Để đếm số lượng sách theo publisher, bạn có thể sử dụng Aggregations API như trong đoạn mã sau:

bash Copy
$ curl -i https://localhost:9200/catalog/books/_search?pretty -d '  {
  "query": {
    "match": {
      "description": "elasticsearch"
    }
  },
  "aggs": {
    "publisher": {
      "terms": {
        "field": "publisher"
      }
    }
  }
}'

Kết Quả Nhận Được

Khi thực hiện truy vấn, kết quả có thể được tóm tắt như sau:

json Copy
{
  "aggregations": {
    "publisher": {
      "buckets": [
        {
          "key": "Manning",
          "doc_count": 2
        },
        {
          "key": "O’Reilly",
          "doc_count": 1
        }
      ]
    }
  }
}

Kết quả trả về không chỉ là danh sách các books mà còn cung cấp thông tin về số lượng sách theo từng publisher.

Thực Hiện Child Aggregations

Ngoài ra, bạn cũng có thể áp dụng child aggregations để phân nhóm các authors theo những cuốn sách của họ:

bash Copy
$ curl -i https://localhost:9200/catalog/books/_search?pretty -d '{
  "aggs": {
    "authors": {
      "children": {
        "type": "authors"
      },
      "aggs": {
        "top-authors": {
          "terms": {
            "script": {
              "inline": "doc['first_name'].value + ' ' + doc['last_name'].value",
              "lang": "painless"
            },
            "size": 10
          }
        }
      }
    }
  }
}'

Với Aggregations API, bạn có thể thực hiện nhiều loại thống kê và phân tích khác nhau trên dữ liệu của mình một cách hiệu quả, từ đó giúp hỗ trợ cho các quyết định kinh doanh hoặc nghiên cứu của bạn. Hãy bắt đầu khám phá và ứng dụng Aggregations API ngay hôm nay để tối ưu hóa việc phân tích dữ liệu trong Elasticsearch!

source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào