Я выполняю запрос Solr, чтобы получить фасеты в поле даты. У меня начальный диапазон настроен на 1/1/2019, а мой конец на 01.04.2009. Различные пробелы, которые я использую: +7 дней, +1 месяц, +1 год. В моем примере ниже приведены результаты, когда я использую +7 дней.
"facet_counts":{
"facet_ranges":{
"published_date":{
"counts":[
"2019-01-01T00:00:00Z",14,
"2019-01-15T00:00:00Z",5,
"2019-01-29T00:00:00Z",6,
"2019-02-05T00:00:00Z",11,
"2019-02-12T00:00:00Z",24,
"2019-02-19T00:00:00Z",31,
"2019-03-05T00:00:00Z",4,
"2019-03-12T00:00:00Z",5,
"2019-03-19T00:00:00Z",11,
"2019-03-26T00:00:00Z",35],
"gap":"+7DAYS",
"start":"2019-01-01T00:00:00Z",
"end":"2019-04-02T00:00:00Z"
}
}
}
Мне нужна указанная выше информация о фасете, чтобы я мог классифицировать документы, которые я собираюсь использовать для графика, в эти группы. Таким образом, 14 документов для диапазона «2019-01-01T00: 00: 00Z» должны отображаться для этой группы и так далее. Это будут те грани, на которых будут представлены остальные мои данные.
Теперь я хочу развернуть другое поле available_inventory, поскольку оно будет использоваться для отображения другой части для диапазона.
Вот мои результаты для этой оси.
"facet_pivot":{
"available_inventory":[{
"field":"available_inventory",
"value":"12",
"count":64},
{
"field":"available_inventory",
"value":"1",
"count":57},
{
"field":"available_inventory",
"value":"5",
"count":57},
{
"field":"available_inventory",
"value":"9",
"count":56},
{
"field":"available_inventory",
"value":"4",
"count":52},
{
"field":"available_inventory",
"value":"6",
"count":52},
{
"field":"available_inventory",
"value":"7",
"count":51},
{
"field":"available_inventory",
"value":"15",
"count":50},
{
"field":"available_inventory",
"value":"16",
"count":50},
{
"field":"available_inventory",
"value":"18",
"count":50},
{
"field":"available_inventory",
"value":"19",
"count":50},
{
"field":"available_inventory",
"value":"0",
"count":49},
{
"field":"available_inventory",
"value":"17",
"count":49},
{
"field":"available_inventory",
"value":"14",
"count":48},
{
"field":"available_inventory",
"value":"2",
"count":48},
{
"field":"available_inventory",
"value":"13",
"count":47},
{
"field":"available_inventory",
"value":"10",
"count":46},
{
"field":"available_inventory",
"value":"11",
"count":43},
{
"field":"available_inventory",
"value":"3",
"count":43},
{
"field":"available_inventory",
"value":"8",
"count":36}]
}
}
}
Пока все хорошо. Но эти значения не являются репрезентативными для диапазонов, возвращаемых в разделе facet_ranges. Есть ли способ, которым я могу получить две сетки? Я попытался использовать facet.field вместо pivot.field, но, опять же, нет контекста (или даже фильтрации) для того, что возвращается как часть диапазонов.
Это тот случай, когда мне нужно что-то сделать с этими данными facet_ranges с точки зрения получения документов, соответствующих этому диапазону (например, 14 документов для "2019-01-01T00: 00: 00Z"), мне нужно представить последующий запрос, в котором ключ публикации_даты документа имеет значение для каждого из этих диапазонов, а затем агрегирует значения available_inventory. Если это так, то есть ли смысл пытаться использовать дополнительные аргументы facet.field? Или используя эти поля в качестве опорных точек? Мне интересно, есть ли способ сделать это с помощью одного запроса. Если нет способа, как я могу отправить запрос таким образом, чтобы были возвращены все документы для определенного диапазона (например, «2019-01-01T00: 00: 00Z»)? Учитывая тот факт, что все, к чему я собираюсь иметь доступ после факта, это дата начала?
Надеюсь, я достаточно хорошо объясняю себя ...
Thnx
Christoph