Spring MongoDB - получить объединение всех массивов в поддокументах и ​​отсортировать по частоте появления - PullRequest
0 голосов
/ 11 декабря 2018

Это немного сложно для меня.У меня есть коллекция Mongo с документами, которые выглядят так:

{
  //irrelevant model values//
  tags: {
          values: ["Tag1","Tag2","Tag3","NonMatchingString"]
        }
},
{
  //model values//
  tags: {
          values: ["Tag1","Tag3"]
        }
 }

Я пытаюсь найти запрос, который я могу выполнить, используя Spring Data, где пользователь может ввести строку поиска, и он вернет списокэто объединение каждого из этих массивов тегов, которое соответствует строке и затем сортируется по частоте появления в этих массивах.Поэтому в данных выше Tag1 и Tag3 появляются дважды и поэтому сортируются в верхнюю часть массива.По сути, если пользователь ищет в этой коллекции выше строку «Tag» - система вернет приведенный ниже массив.

["Tag1","Tag3","Tag2"]

Для справки я пытаюсь смоделировать инструмент подсказки тегов, который предоставляет StackOverflowкогда вы помечаете свой вопрос.

...