This article presents possible use cases and corresponding sample flows that your app can support. It provides a useful starting point as you plan your app's implementation.
If you're developing a tickets app, and you want to search for jazz events in San Francisco, do the following:
Search the EVENTS document type for 'jazz' in the expression
field, and filter by location
for San Francisco.
{
"search": {
"filter": {
"location": "san francisco"
}
"aggregations": [],
"sort": [],
"search": {
"fields": [],
"expression": "jazz"
},
"paging": {}
},
"documentType": "EVENTS"
}
Retrieve all the jazz events in San Francisco.
If you're developing a wholesale app, you can perform an aggregation on a site with store products to count how many products are in stock vs out of stock, and what is the lowest price for the in-stock products vs. the out of stock products.
To do this, you need to perform a nested aggregation:
First perform a value
aggregation with "fieldPath": "inStock"
to get the products that are in stock and out of stock (since this field is a boolean).
Then add a scalar
aggregation with "fieldPath": "discountedPriceNumeric", "type": "MIN"
to get the minimum price for the in-stock and out-of-stock products returned in the first aggregation.
Sample request:
{
"search": {
"aggregations": [
{
"name": "Lowest price for products in stock and out of stock.",
"type": "NESTED",
"nested": {
"nestedAggregations": [
{
"name": "in-stock",
"type": "VALUE",
"fieldPath": "inStock",
"value": {}
},
{
"name": "min-price",
"type": "SCALAR",
"fieldPath": "discountedPriceNumeric",
"scalar": {
"type": "MIN"
}
}
]
}
}
]
},
"documentType": "STORES_PRODUCTS"
}
Sample response:
"aggregationData": {
"results": [
{
"name": "Lowest price for products in stock and out of stock.",
"type": "NESTED",
"nested": {
"results": [
{
"results": {
"in-stock": {
"value": {
"value": "true",
"count": 3
}
},
"min-price": {
"scalar": {
"value": 899
}
}
}
},
{
"results": {
"in-stock": {
"value": {
"value": "false",
"count": 2
}
},
"min-price": {
"scalar": {
"value": 500
}
}
}
}
]
}
}
]
},
In our example, the lowest price among the 3 in-stock products is $899, and the lowest price among the 2 out-of-stock products is $500.