Generi c Поиск и фильтрация по динамическим c полям для критериев (глобальный поиск) - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть сценарий, в котором мне нужно добавить критерии для выполнения поиска и фильтрации в Spring с помощью mongoTemplate.

Сценарий:

Допустим, у меня есть Student, Course и PotentialStudent. и я должен определить только определенные поля, которые будут использоваться для целей поиска и фильтрации. Для PotentialStudent он содержит как Student, так и Course информацию, которая собирается до того, как будет собрана вся необходимая информация для заполнения в Student и Course.

Поля поиска - это поля, которые будут использоваться для поиска либо полей. Например: получить значения, совпадающие в courseName или courseType в Course.

Фильтр должен использоваться для фильтрации определенных c полей для сопоставления нескольких значений и значений, которые будут фильтроваться в поле установлен на FilterParams. Это означает, что если я получаю значения в FilterParams.studentType, то для PotentialStudent я должен добавить критерии для поиска в списке значений в student.type PotentialStudent, тогда как если для Student добавить критерии для поиска в type.

*. 1025 *

Учитывая этот сценарий, мой вопрос заключается в том, как обрабатывать случаи фильтрации лучше и динамичнее c и как реализовать глобальный поиск, если необходимо выполнить поиск во всех Document типах для указанных полей каждого типа.

...