Как получить только согласованные данные из вложенного класса с помощью построителя запросов в поиске elasti c? - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь получить только совпадающие данные из вложенного массива класса поиска elasti c. но я не могу его получить ... все данные вложенного массива возвращаются как выходные.

это мой запрос: -

QueryBuilders.nestedQuery ("questions", QueryBuilders.boolQuery () .must (QueryBuilders.matchQuery ("questions.questionTypeId", quesTypeId)), ScoreMode.None) .innerHit (new InnerHitBuilder ());

Я использую конструкторы запросов для получения данных из вложенного класса. работает нормально, но не может получить только совпадающие данные.

Тело запроса: {"questionTypeId": "MCM C"}

когда questionTypeId = "MCM C" это вывод, который я получаю ... Здесь я хочу исключить вывод, для которого questionTypeId = "SCM C".

output:

   {
    "id": "46",
    "subjectId": 1,
    "topicId": 1,
    "subtopicId": 1,
    "languageId": 1,
    "difficultyId": 4,
    "isConceptual": false,
    "examCatId": 3,
    "examId": 1,
    "usedIn": 1,

    "questions": [
        {
            "id": "46_31",
            "pid": 31,
            "questionId": "QID41336691",
            "childId": "CID1",
            "questionTypeId": "MCMC",
            "instruction": "This is a single correct multiple choice question.",
            "question": "Who holds the most english premier league titles?",
            "solution": "Manchester United",
            "status": 1000,
            "questionTranslation": []
        },

        {
            "id": "46_33",
            "pid": 33,
            "questionId": "QID41336677",
            "childId": "CID1",
            "questionTypeId": "SCMC",
            "instruction": "This is a single correct multiple choice question.",
            "question": "Who holds the most english premier league titles?",
            "solution": "Manchester United",
            "status": 1000,
            "questionTranslation": []
        }
    ]
}

1 Ответ

0 голосов
/ 12 июля 2020

Как вы отметили это с помощью :

Поддержка возврата внутренних обращений была недавно добавлена ​​в версию 4.1.M1 и поэтому будет включена в следующую выпущенную версию . Затем в SearchHit вы получите полный документ верхнего уровня, но в свойстве innerHits будут возвращены только соответствующие внутренние совпадения.

...