Elasticsearch nester_filter с несколькими запросами - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь использовать sortsearch (6.7) с несколькими term запросами.Но он не сортирует данные, когда есть 3 term запросов.Это работает, когда я указываю только

 {
    "term": {
       "instance.instFields.sourceFieldId": {
         "value": "16044"
       }
    }
 },

Ниже приведен запрос сортировки со всеми 3 терминами.

"sort": [
    {
        "instance.instFields.fieldDate": {
            "order": "desc",
            "nested_path": "instance.instFields",
            "nested_filter": {
                "bool": {
                    "must": [
                        {
                            "term": {
                                "instance.instFields.sourceFieldId": {
                                    "value": "16044"
                                }
                            }
                        },
                        {
                            "term": {
                                "instance.dataSourceId": {
                                    "value": "819"
                                }
                            }
                        },
                        {
                            "term": {
                                "instance.dsTypeId": {
                                    "value": "2301"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
],

Благодарим за любую помощь для решения этой проблемы.

1 Ответ

0 голосов
/ 17 мая 2019
Поля

instance.dataSourceId и instance.dsTypeId находятся за пределами заявленного вами вложенного пути (instance.instFields), поэтому никакие внутренние объекты не соответствуют вложенному фильтру и не учитываются при сортировке.

Кстати, с ES 6.1 опции nested_path и nested_filter устарели в пользу path и filter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...