جمع بندی

ساخت وبلاگ

تجمع داده های شما را به عنوان معیارها ، آمار یا سایر تجزیه و تحلیل ها خلاصه می کند. تجمع به شما در پاسخ به سؤالات مانند:

  • میانگین بار بار برای وب سایت من چقدر است؟
  • مشتریان ارزشمند من بر اساس حجم معامله چه کسانی هستند؟
  • چه فایل بزرگی در شبکه من در نظر گرفته می شود؟
  • چند محصول در هر گروه محصول وجود دارد؟

Elasticsearch جمع آوری ها را در سه دسته سازماندهی می کند:

  • تجمع متریک که معیارها را ، مانند مبلغ یا میانگین ، از مقادیر میدانی محاسبه می کند.
  • تجمع سطل که اسناد گروه را به سطل ، همچنین سطل ها نیز بر اساس مقادیر میدانی ، دامنه ها یا معیارهای دیگر انجام می دهند.
  • تجمع خط لوله ای که به جای اسناد یا زمینه ها از سایر تجمع ها استفاده می کنند.

یک جمع بندی را اجرا کنید

شما می توانید با مشخص کردن پارامتر AGGS API جستجو ، جمع آوری را به عنوان بخشی از جستجو اجرا کنید. جستجوی زیر یک ترکیب اصطلاحات را در زمینه MY اجرا می کند:

دریافت /my-index-000001 /_search<"aggs": <"my-agg-name": <"terms": <"field": "my-field">>>>

نتایج تجمیع در موضوع تجمع پاسخ است:

<"took": 78, "timed_out": false, "_shards": <"total": 1, "successful": 1, "skipped": 0, "failed": 0>، "بازدید":<"total": <"value": 5, "relation": "eq">, "max_score": 1.0, "hits": [. ]>, "aggregations": "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": []>>>

نتایج برای تجمع MY-AGG-NAME.

دامنه تجمع را تغییر دهید

از پارامتر پرس و جو استفاده کنید تا اسنادی را که یک تجمع در آن اجرا می شود محدود کنید:

دریافت /my-index-000001 /_search<"query": <"range": <"@timestamp": <"gte": "now-1d/d", "lt": "now/d">>>، "Aggs":<"my-agg-name": <"terms": <"field": "my-field">>>>

بازگرداندن فقط جمع آوری نتایج

به طور پیش فرض ، جستجوهای حاوی یک جمع هم بازدیدهای جستجو و هم نتایج تجمیع را برمی گرداند. برای بازگشت تنها نتایج جمع آوری ، اندازه 0 را تنظیم کنید:

دریافت /my-index-000001 /_search<"size": 0, "aggs": <"my-agg-name": <"terms": <"field": "my-field">>>>

چندین جمع بندی را اجرا کنید

می توانید چندین جمع را در همان درخواست مشخص کنید:

دریافت /my-index-000001 /_search<"aggs": <"my-first-agg-name": <"terms": <"field": "my-field">>، "نام My-Second-Agg-name":<"avg": <"field": "my-other-field">>>>

Sub-Eggregationsedit را اجرا کنید

تجمع سطل از سطل یا زیر مجموعه های متریک پشتیبانی می کند. به عنوان مثال ، یک تجمع اصطلاحات با یک جمع زیر AVG یک مقدار متوسط را برای هر سطل اسناد محاسبه می کند. محدودیت سطح و عمق برای لانه سازی زیر مجموعه ها وجود ندارد.

دریافت /my-index-000001 /_search<"aggs": <"my-agg-name": <"terms": <"field": "my-field">، "Aggs":<"my-sub-agg-name": <"avg": <"field": "my-other-field">>>>>>

نتایج زیر مجموعه ای که تحت تجمع والدین آنها قرار دارد ، نتایج را نشان می دهد:

"doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ "value": 75.0>> ]>>>

نتایج مربوط به تجمع والدین ، نام My-agg.

نتایج برای جمع آوری زیر AGG-NAME ، نام من-زیر AGG.

فوق داده سفارشی اضافه کنید

از شیء متا برای ارتباط ابرداده های سفارشی با جمع استفاده کنید:

دریافت /my-index-000001 /_search<"aggs": <"my-agg-name": <"terms": <"field": "my-field">، "متا":<"my-metadata-field": "foo">>>>

پاسخ شیء متا را در جای خود برمی گرداند:

<. "aggregations": <"my-agg-name": <"meta": <"my-metadata-field": "foo">, "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": []>>>

typeedit جمع آوری را برگردانید

به طور پیش فرض ، نتایج جمع آوری شامل نام جمع آوری اما نوع آن نیست. برای بازگشت نوع جمع ، از پارامتر Query Typed_Keys استفاده کنید.

دریافت /my-index-000001 /_search؟ typed_keys<"aggs": <"my-agg-name": <"histogram": <"field": "my-field", "interval": 1000>>>>

پاسخ نوع تجمیع را به عنوان پیشوند نام تجمع برمی گرداند.

برخی از تجمیع ها نوع تجمیع متفاوتی از نوع موجود در درخواست را برمی گردانند. به عنوان مثال، تراکم های عبارت ها، عبارت های معنی دار و صدک ها، بسته به نوع داده فیلد تجمیع شده، انواع مختلف تجمع را برمی گردانند.

"buckets": []>>>

نوع تجمع، هیستوگرام، به دنبال جداکننده # و نام تجمع، my-agg-name.

از اسکریپت ها در ویرایش جمع آوری استفاده کنید

هنگامی که یک فیلد دقیقاً با انبوه مورد نیاز مطابقت ندارد، باید در یک فیلد زمان اجرا جمع آوری کنید:

دریافت /my-index-000001/_search? size=0<"runtime_mappings": <"message.length": <"type": "long", "script": "emit(doc['message.keyword'].value.length())">>، "Aggs":<"message_length": <"histogram": <"interval": 10, "field": "message.length">>>>

اسکریپت ها مقادیر فیلد را به صورت پویا محاسبه می کنند، که کمی سربار به تجمع اضافه می کند. علاوه بر زمان صرف شده برای محاسبه، برخی از تجمیع ها مانند اصطلاحات و فیلترها نمی توانند از برخی از بهینه سازی های خود با فیلدهای زمان اجرا استفاده کنند. در مجموع، هزینه های عملکرد برای استفاده از یک فیلد زمان اجرا از تجمیع به تجمع متفاوت است.

ذخیره سازی حافظه پنهان تجمعی

برای پاسخ های سریع تر، Elasticsearch نتایج تجمیع هایی که اغلب اجرا می شوند را در حافظه پنهان درخواست خرده ذخیره می کند. برای دریافت نتایج کش، از همان رشته ترجیحی برای هر جستجو استفاده کنید. اگر به بازدیدهای جستجو نیاز ندارید، اندازه را روی 0 تنظیم کنید تا از پر کردن حافظه پنهان جلوگیری کنید.

Elasticsearch جستجوها را با همان رشته ترجیحی به همان خرده ها هدایت می کند. اگر داده های خرده ها بین جستجوها تغییر نکند، خرده ها نتایج انباشته شده در حافظه پنهان را برمی گردانند.

محدودیت های مربوط به ارزش طولانی تنظیم شده است

هنگام اجرای تجمیع ها، Elasticsearch از مقادیر دوگانه برای نگهداری و نمایش داده های عددی استفاده می کند. در نتیجه، تجمیع در اعداد طولانی بزرگتر از 2 53 تقریبی است.

سیگنال های تجاری...
ما را در سایت سیگنال های تجاری دنبال می کنید

برچسب : نویسنده : عبدالله بوتیمار بازدید : <-PostHit-> تاريخ : پنجشنبه 16 شهريور 1402 ساعت: 11:15