Как получить количество регистраций, сгруппированных по идентификаторам пользователя с использованием solrj? - PullRequest
0 голосов
/ 14 октября 2019

Как это сделать через SOLRJ или Java api. Ниже приведен мой объект регистрации в SOLR, то есть пользователь может иметь два типа регистрации: веб-крючок или push-уведомление. Я хочу запросить solr и получить подробную информацию о лучших пользователях и получить их ID пользователя. Я полагаю, это возможно через группу. Пожалуйста, дайте мне знать, как это сделать через SOLRJ или Java API.

Облако Solr:

[
  {
    "registration-type":["webhook"],
    "id":"webhook-1",
    "user-id":[78889],
    "registration-type_str":["webhook"],
    "_version_":1641379414966009856},
  {
    "registration-type":["webhook"],
    "id":"webhook-0",
    "user-id":[151567],
    "registration-type_str":["webhook"],
    "_version_":1641385882926710784},
  {
    "registration-type":["PushNotification"],
    "id":"PushNotification-0",
    "user-id":[78889],
    "registration-type_str":["PushNotification"],
    "_version_":1645555268807819264}
  {
    "registration-type":["PushNotification"],
    "id":"PushNotification-1",
    "user-id":[78889],
    "registration-type_str":["PushNotification"],
    "_version_":1645555268807819264}   ]

Использование SOLRJ:

   public void solrSearch() throws IOException, SolrServerException{
    SolrClient client = new HttpSolrClient.Builder("http://localhost:8983/solr/Registration").build();

      SolrQuery query = new SolrQuery();
      query.setQuery("*:*");
      query.setFields("id", "user-id");

Ожидаемый ответ:

Подсчет по идентификатору пользователя 78889: 3 151567: 1

Идентификатор пользователя будет тоном, и его невозможно будет жестко закодировать в коде, но потребуется общая группа путем извлечения топ-5 пользователей

...