Search API group
editSearch API group
editGrouped results based on shared fields.
The most relevant document will have a _group
key.
The key includes all other documents that share an identical value within the grouped field.
Documents in the _group
key will not appear anywhere else in the search response.
Grouping is available on text, number, and date fields.
-
field
(required) - Field name to group results on.
-
size
(optional) - Number of results to be included in the _group key of the returned document. Can be between 1 and 10. Defaults to 10.
-
sort
(optional) - A JSON object containing the field name or _score as the key and the value as asc or desc. The default sort is by descending relevance.
-
collapse
(optional) - Experimental. Provides Paging and Sorting support. The field you are grouping on must not have multiple values. Multiple values will cause an error.
Example - Searching for "california" and grouping on states
.
curl -X GET '<ENTERPRISE_SEARCH_BASE_URL>/api/as/v1/engines/national-parks-demo/search' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer search-soaewu2ye6uc45dr8mcd54v8' \ -d '{ "query": "parks", "result_fields": { "title": { "raw": {} }, "location": { "raw": {} }, "states": { "raw": {} } }, "group": { "field": "states" } }'
Example Response
{ "meta": { ## Truncated! }, "request_id": "feff7cf2359a6f6da84586969ef0ca89" }, "results": [ { "states": { "raw": [ "California" ] }, "title": { "raw": "Redwood" }, "location": { "raw": "41.3,-124" }, "id": { "raw": "park_redwood" }, "_meta": { "score": 3.6536791 }, "_group": [ { "states": { "raw": [ "California" ] }, "title": { "raw": "Sequoia" }, "location": { "raw": "36.43,-118.68" }, "id": { "raw": "park_sequoia" }, "_meta": { "score": 0.7559763 } }, { "states": { "raw": [ "California" ] }, "title": { "raw": "Lassen Volcanic" }, "location": { "raw": "40.49,-121.51" }, "id": { "raw": "park_lassen-volcanic" }, "_meta": { "score": 0.65168744 } }, { "states": { "raw": [ "California" ] }, "title": { "raw": "Kings Canyon" }, "location": { "raw": "36.8,-118.55" }, "id": { "raw": "park_kings-canyon" }, "_meta": { "score": 0.5489506 } }, { "states": { "raw": [ "California" ] }, "title": { "raw": "Pinnacles" }, "location": { "raw": "36.48,-121.16" }, "id": { "raw": "park_pinnacles" }, "_meta": { "score": 0.49142775 } }, { "states": { "raw": [ "California", "Nevada" ] }, "title": { "raw": "Death Valley" }, "location": { "raw": "36.24,-116.82" }, "id": { "raw": "park_death-valley" }, "_meta": { "score": 0.4451992 } }, { "states": { "raw": [ "California" ] }, "title": { "raw": "Channel Islands" }, "location": { "raw": "34.01,-119.42" }, "id": { "raw": "park_channel-islands" }, "_meta": { "score": 0.12520474 } }, { "states": { "raw": [ "California" ] }, "title": { "raw": "Yosemite" }, "location": { "raw": "37.83,-119.5" }, "id": { "raw": "park_yosemite" }, "_meta": { "score": 0.10190857 } } ], "_group_key": "California" }, ## Truncated! ] }