- 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.
- Spring 5企業(yè)級開發(fā)實戰(zhàn)
- Learning Cython Programming
- Visual FoxPro程序設(shè)計教程(第3版)
- CockroachDB權(quán)威指南
- Learning Docker
- 體驗設(shè)計原理:行為、情感和細(xì)節(jié)
- JavaScript 程序設(shè)計案例教程
- Python:Master the Art of Design Patterns
- HTML5+CSS3網(wǎng)頁設(shè)計
- Java Web程序設(shè)計任務(wù)教程
- Raspberry Pi Robotic Projects(Third Edition)
- Python+Office:輕松實現(xiàn)Python辦公自動化
- Applied Deep Learning with Python
- Hands-On Dependency Injection in Go
- Java核心編程