Как отсортировать родительский документ по дочерним документам по наименьшей цене в solr - PullRequest
1 голос
/ 05 ноября 2019

Я новичок в solr. Я хочу отсортировать родительский документ по минимальной цене дочерних документов. Пожалуйста, ознакомьтесь с приведенными ниже примерами данных.

{
    "parentID": 1,
    "children": {
      "numFound": 2,
      "start": 0,
      "docs": [
        {
          "type": "child",
          "parentID": 1,
          "ID": "1",
          "price": 189.7
        },
        {
          "type": "child",
          "parentID": 1,
          "ID": "2",
          "price": 933.1
        }
      ]
    }   },   {
    "parentID": 2,
    "children": {
      "numFound": 2,
      "start": 0,
      "docs": [
        {
          "type": "child",
          "parentID": 2,
          "ID": "1",
          "price": 1180.0
        },
        {
          "type": "child",
          "parentID": 2,
          "ID": "2",
          "price": 238.0
        }
      ]
    }   },   {
    "parentID": 3,
    "children": {
      "numFound": 1,
      "start": 0,
      "docs": [
        {
          "type": "child",
          "parentID": 3,
          "ID": "1",
          "price": 1442.81,
        },
        {
            "type": "child",
            "parentID": 3,
            "ID": "2",
            "price": 42.81,
          }
      ]
    }   },   {
    "parentID": 4,
    "children": {
      "numFound": 1,
      "start": 0,
      "docs": [
        {
          "type": "child",
          "parentID": 4,
          "ID": "1",
          "price": 1140.8,
        }
      ]
    }   }

И я хочу привести приведенный ниже формат

{
    "parentID": 3,
    "children": {
      "numFound": 1,
      "start": 0,
      "docs": [
        {
          "type": "child",
          "parentID": 3,
          "ID": "1",
          "price": 1442.81,
        },
        {
            "type": "child",
            "parentID": 3,
            "ID": "2",
            "price": 42.81,
          }
      ]
    }
  },
  {
    "parentID": 1,
    "children": {
      "numFound": 2,
      "start": 0,
      "docs": [
        {
          "type": "child",
          "parentID": 1,
          "ID": "1",
          "price": 189.7
        },
        {
          "type": "child",
          "parentID": 1,
          "ID": "2",
          "price": 933.1
        }
      ]
    }
  },
  {
    "parentID": 2,
    "children": {
      "numFound": 2,
      "start": 0,
      "docs": [
        {
            "type": "child",
            "parentID": 2,
            "ID": "2",
            "price": 238.0
        },
        {
          "type": "child",
          "parentID": 2,
          "ID": "1",
          "price": 1180.0
        }
      ]
    }
  },
  {
    "parentID": 4,
    "children": {
      "numFound": 1,
      "start": 0,
      "docs": [
        {
          "type": "child",
          "parentID": 4,
          "ID": "1",
          "price": 1140.8,
        }
      ]
    }
  }

Я попробовал ссылку ниже, это не работает для моей проблемы.

как отсортировать родительские документы по дочерним атрибутам в solr

sort = {! Parent, который = тип: родительский счет = max v = '+ type: child + {! Func} цена '} desc

...