44 lines
1.4 KiB
Plaintext
44 lines
1.4 KiB
Plaintext
|
[[search-facets-terms-stats-facet]]
|
||
|
=== Terms Stats Facet
|
||
|
|
||
|
The `terms_stats` facet combines both the
|
||
|
<<search-facets-terms-facet,terms>> and
|
||
|
<<search-facets-statistical-facet,statistical>>
|
||
|
allowing to compute stats computed on a field, per term value driven by
|
||
|
another field. For example:
|
||
|
|
||
|
[source,js]
|
||
|
--------------------------------------------------
|
||
|
{
|
||
|
"query" : {
|
||
|
"match_all" : { }
|
||
|
},
|
||
|
"facets" : {
|
||
|
"tag_price_stats" : {
|
||
|
"terms_stats" : {
|
||
|
"key_field" : "tag",
|
||
|
"value_field" : "price"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
--------------------------------------------------
|
||
|
|
||
|
The `size` parameter controls how many facet entries will be returned.
|
||
|
It defaults to `10`. Setting it to 0 will return all terms matching the
|
||
|
hits (be careful not to return too many results).
|
||
|
|
||
|
Ordering is done by setting `order`, with possible values of `term`,
|
||
|
`reverse_term`, `count`, `reverse_count`, `total`, `reverse_total`,
|
||
|
`min`, `reverse_min`, `max`, `reverse_max`, `mean`, `reverse_mean`.
|
||
|
Defaults to `count`.
|
||
|
|
||
|
The value computed can also be a script, using the `value_script`
|
||
|
instead of `value_field`, in which case the `lang` can control its
|
||
|
language, and `params` allow to provide custom parameters (as in other
|
||
|
scripted components).
|
||
|
|
||
|
Note, the terms stats can work with multi valued key fields, or multi
|
||
|
valued value fields, but not when both are multi valued (as ordering is
|
||
|
not maintained).
|