- Elasticsearch Blueprints
- Vineeth Mohan
- 281字
- 2021-07-16 13:39:33
Aggregating your results
Next, when I search for Lenovo, I would like to see different product types associated with it. This is more like making a report out of the results, but then, as this makes your data more explorable and easy to understand, it's safe to see this as enhancing search capabilities.
Hence, whenever I search for something, I want to see the following reports on my query results or rather, an aggregate of my results in the following information:
- Different types of
productType
- The number of products in various predefined price ranges
- The number of documents per year based on manufacturing dates
For this, we need to build different aggregations to capture these reports.
Note
It's very important to understand that the score of aggregation is the query. This means that the aggregations would only be done on those documents that match the query.
The format in which we should provide aggregations is as follows:
{ "query" : { ….}, "aggregations" : { "aggregationNameA" : { "aggregationType" : { <Aggregation type specific information> }, } }, "aggregationNameB" : { "aggregationType" : { <Aggregation type specific information> }, } }, { …. } }
Once we fire a search request with this JSON, we can retrieve our results in the following format:
{ "took" : 21 , …. }
Note
We identify the results of the inpidual aggregation request using the aggregation name we gave in the query.
Terms aggregation
Terms aggregation is usually done on string field types, which means that this is very handy to retrieve statistics on terms. Like in our case, the number of different unique values for the productType
and the number of documents in which each terms are occurring.
- 測試驅動開發:入門、實戰與進階
- Unity Shader入門精要
- 鋒利的SQL(第2版)
- Java編程的邏輯
- Extreme C
- Creating Data Stories with Tableau Public
- 零基礎學HTML+CSS
- PHP+MySQL動態網站開發從入門到精通(視頻教學版)
- Learning Unreal Engine Game Development
- 官方 Scratch 3.0 編程趣味卡:讓孩子們愛上編程(全彩)
- Mastering Bootstrap 4
- Kotlin語言實例精解
- Instant Pygame for Python Game Development How-to
- C語言從入門到精通(視頻實戰版)
- Building Microservices with .NET Core 2.0(Second Edition)