Это немного сложно для меня.У меня есть коллекция 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когда вы помечаете свой вопрос.