Почему Solr "sortMissingLast" не работает, когда родительские документы сортируются по дочерним документам? - PullRequest
0 голосов
/ 15 марта 2019

Я использую Solr 7.6. Я сортирую родительские документы по их дочерним полям документов. Здесь родительские документы сортируются суммированием поля «count» дочерних документов. Он дает правильный результат, если все родительские документы имеют дочерние документы, но не работает, если родительский документ не имеет дочерних документов.

Структура документа:

{
            "source_ln": "hi",
            "source_text": "पूर्व में बंगाल की खाड़ी है तथा पश्चिम में अरब सागर हैं|",
            "target_ln": "en",
            "target_text": "In the east is the Bay of Bengal and the Arabian Sea in the west.",
            "organizations": [
                "3"
            ],
            "type": "segment",
            "id": "257c051c-ca53-4d32-968b-ea20f420f3c7",
            "_version_": 1627977518610907100,
            "_childDocuments_": [
                {
                    "id": "1",
                    "type": "tag",
                    "count": 2,
                    "_version_": 1627977518610907100
                },
                {
                    "id": "1",
                    "type": "tag",
                    "count": 2,
                    "organization_id": "3",
                    "_version_": 1627977518610907100
                }
            ]
        }

Запрос сортировки Solr:

sort={!parent which=type:segment score=total v="+type:tag +{!func}count"} desc

Итак, в каких полях мы должны использовать параметр "sortMissingLast"?

...