0Pricing
Elasticsearch & Full Text Search Systems · Урок

Агрегации для фасетного поиска

Используйте агрегации Elasticsearch для построения фасетов, гистограмм и сводных показателей одновременно с результатами поиска.

«Агрегации для фасетного поиска» — бесплатный урок Elasticsearch & Full Text Search Systems на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Elasticsearch & Full Text Search Systems, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Elasticsearch & Full Text Search Systems содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Beyond Matching

Search finds documents; aggregations summarize them. They power faceted navigation, dashboards, and analytics, all in the same request as the search.

Two Families

Aggregations come in two main families:

  • Bucket aggregations group documents (e.g. by category)
  • Metric aggregations compute numbers (e.g. average price)

A Terms Facet

The terms aggregation produces a bucket per distinct value with counts, the classic facet.

GET /products/_search
{ "size": 0, "aggs": {
  "by_category": { "terms": { "field": "category" } }
}}

size 0 Trick

Setting size: 0 returns no document hits, only the aggregation results, which is efficient when you only want the facets.

Aggregate on keyword

Aggregations run on non-analyzed fields. Use the keyword field, not the analyzed text field, or you will bucket on individual tokens.

{ "terms": { "field": "brand.keyword" } }

Metric Aggregations

Metrics like avg, min, max, and sum compute a single value over matching documents.

"aggs": { "avg_price": { "avg": { "field": "price" } } }

Histograms

A histogram buckets numeric values into fixed intervals, great for price ranges.

"aggs": { "price_ranges": {
  "histogram": { "field": "price", "interval": 100 }
}}

Date Histograms

A date_histogram groups by calendar intervals like day or month, ideal for time-series charts.

"aggs": { "per_day": { "date_histogram": {
  "field": "created", "calendar_interval": "day"
}}}

Nesting Aggregations

You can nest a metric inside a bucket: average price within each category. Nesting is how rich facets are built.

"aggs": { "by_cat": {
  "terms": { "field": "category" },
  "aggs": { "avg_price": { "avg": { "field": "price" } } }
}}

Facets Respect the Query

Aggregations are computed over the documents that match the query and filters, so facet counts naturally reflect the current search context.

Cardinality for Distinct Counts

The cardinality metric gives an approximate distinct-value count, far cheaper than exact counting on large data.

"aggs": { "unique_brands": {
  "cardinality": { "field": "brand.keyword" } } }

Quick Check

Why aggregate on a keyword field instead of a text field?

Recap

You learned aggregations for faceted search: bucket aggregations like terms and histograms, metric aggregations like avg and cardinality, nesting metrics inside buckets, the size: 0 trick, and why facets use keyword fields.

Часто задаваемые вопросы

Урок «Агрегации для фасетного поиска» бесплатный?

Да — полный текст урока «Агрегации для фасетного поиска» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Elasticsearch & Full Text Search Systems, подпишись на CoddyKit PRO. Курс Elasticsearch & Full Text Search Systems содержит 4 уроков всего.

Чему я научусь в уроке «Агрегации для фасетного поиска»?

Используйте агрегации Elasticsearch для построения фасетов, гистограмм и сводных показателей одновременно с результатами поиска. Ты практикуешь Elasticsearch & Full Text Search Systems с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Elasticsearch & Full Text Search Systems?

Предыдущий опыт не требуется. Elasticsearch & Full Text Search Systems на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Агрегации для фасетного поиска»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Elasticsearch & Full Text Search Systems?

Да. Каждый урок Elasticsearch & Full Text Search Systems включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Поиск фраз и близости
  2. Неточные и шаблонные запросы
  3. Выделение результатов поиска
  4. Агрегации для фасетного поиска
← Назад к Elasticsearch & Full Text Search Systems