Версия Solr: 5.4 и выше.
У меня есть решение для этого, и я реализовал в своем проекте.
Вы должны использовать фасет json для достижения максимального и минимального значения на основе результата фасета.
json.facet={
tags_group:{
type:terms,
field:tags,
limit:-1,
facet:{
pricemin:{
type:terms,
field:price,
limit:1,
sort:{
x:asc
},
facet:{
x:"min(price)"
}
},
pricemax:{
type:terms,
field:price,
limit:1,
sort:{
y:desc
},
facet:{
y:"max(price)"
}
}
}
}
}
В приведенном выше аспекте Json я использовал теги как поля (многозначные), и это создаст контейнер, подобный этому
<str name="val">Letter Holder</str>
<int name="count">2</int>
<lst name="pricemin">
<arr name="buckets">
<lst>
<double name="val">899.0</double>
<int name="count">1</int>
<double name="x">899.0</double>
</lst>
</arr>
</lst>
<lst name="pricemax">
<arr name="buckets">
<lst>
<double name="val">1299.0</double>
<int name="count">1</int>
<double name="y">1299.0</double>
</lst>
</arr>
</lst>