- 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.
- Go語言高效編程:原理、可觀測性與優化
- JavaScript+jQuery開發實戰
- BeagleBone Media Center
- Learning JavaScript Data Structures and Algorithms
- 計算機應用基礎案例教程
- Java Web開發就該這樣學
- PHP 7從零基礎到項目實戰
- ExtJS Web應用程序開發指南第2版
- Natural Language Processing with Python Quick Start Guide
- Vue.js光速入門及企業項目開發實戰
- Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐
- 啊哈C語言!:邏輯的挑戰(修訂版)
- Spring Boot 2+Thymeleaf企業應用實戰
- 像程序員一樣使用MySQL
- C#開發之道