Solr Facet Group Фильтрация запросов - PullRequest
0 голосов
/ 04 марта 2020

Существует около 12 миллионов данных Solr, как показано на модели ниже. Я хочу сгруппировать значения эмоций, используя структуру запроса фасета solr, и найти общее количество значений, как я могу это сделать?

<doc>
<str name="id">389352936</str>
<str name="title">Title</str>
<str name="body">Body</str>
<date name="feeddate">2019-05-05T09:22:46Z</date>
<int name="sentiment">0</int>
</doc>
<doc>
<str name="id">389352937</str>
<str name="title">Title</str>
<str name="body">Body</str>
<date name="feeddate">2019-05-06T09:22:46Z</date>
<int name="sentiment">1</int>
</doc>

структура результата, которую я хочу

[
{"feeddate":"2019-05-05T00:00:00Z","sentiment":{"0":10,"1":20,"2":30}},{"feeddate":"2019-05-06T00:00:00Z","sentiment":{"0":5,"1":10,"2":15}},,{"feeddate":"2019-05-07T00:00:00Z","sentiment":{"0":12,"1":21,"2":12}}
] 

I ' пытаюсь выполнить запрос ниже, но его нет в структуре, которую я хочу

facet.range={!tag=rdt}feeddate
&facet.range.start=2019-01-01T00:00:00Z
&facet.sort=feeddate
&facet.field=sentiment
&facet.range.end=2019-02-01T00:00:00Z
&facet.range.gap=%2B1DAY&facet=true
&facet.pivot={!range=piv1}sentiment

Возврат данных

[ {field:"sentiment",value:0,count:6258160,ranges:{feeddate:{counts:["2019-01-01T00:00:00Z",7983,"2019-01-02T00:00:00Z",9673,"2019-01-03T00:00:00Z",12727,"2019-01-04T00:00:00Z"]}}, 
            {field:"sentiment",value:1,count:1830481,ranges:{feeddate:{counts:["2019-01-01T00:00:00Z",4983,"2019-01-02T00:00:00Z",9673,"2019-01-03T00:00:00Z",23727,"2019-01-04T00:00:00Z"]}}
            {field:"sentiment",value:2,count:3086818,ranges:{feeddate:{counts:["2019-01-01T00:00:00Z",3983,"2019-01-02T00:00:00Z",9673,"2019-01-03T00:00:00Z",10727,"2019-01-04T00:00:00Z"]}}
]
...