Немного информации об этом ключевом слове
Давайте перечислим ключевое слово this
на консоль в глобальной области без кода, но
console.log(this)
В Client / Browser this
] - глобальный объект, который является window
console.log(this === window) // true
и
В ключевом слове Server / Node / Javascript this
также является глобальным объектом, который является module.exports
console.log(this === module.exports) // true
console.log(this === exports) // true
Имейте в виду, что exports
- это просто ссылка на module.exports
Ну, мы сталкивались с подобной задачей и раньше, и я бы сказал, что Solr не может фильтровать вычисленные значения. Либо вы можете получить весь фасет, установив предел равным -1, и тогда будет некоторая оболочка (WEB API), которую вам нужно будет написать поверх вашего поискового приложения, которая отфильтрует список фасетов.
json.facet={cty:{type:terms,field:country,limit:-1,facet:{sum_value:”sum(population)”}}}
Или вы можете предварительно рассчитать сумму населения для каждой страны перед индексацией. Посмотрите на таблицу ниже.
| Страна | Население | Total_Population |
| C1 | 12 | 25 |
| C1 | 13 | 25 |
| С2 | 14 | 49 |
| С2 | 35 | 49 |
Позже вы можете напрямую фильтровать поле Total_Population с помощью фильтра запросов. Кроме того, вы сэкономите много времени, не агрегируя в реальном времени.