У меня есть приложение spring-data-mogodb на java или kotlin, и мне нужно создать запрос текстового поиска для mongodb по шаблону spring.
В оболочке Монго это выглядит так:
db.stores.find(
{ $text: { $search: "java coffee shop" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
Я уже пытался что-то сделать, но это не совсем то, что мне нужно:
@override fun getSearchedFiles(searchQuery: String, pageNumber: Long, pageSize: Long, direction: Sort.Direction, sortColumn: String): MutableList<SystemFile> {
val matching = TextCriteria.forDefaultLanguage().matching(searchQuery)
val match = MatchOperation(matching)
val sort = SortOperation(Sort(direction, sortColumn))
val skip = SkipOperation((pageNumber * pageSize))
val limit = LimitOperation(pageSize)
val aggregation = Aggregation
.newAggregation(match, skip, limit)
.withOptions(Aggregation.newAggregationOptions().allowDiskUse(true).build())
val mappedResults = template.aggregate(aggregation, "files", SystemFile::class.java).mappedResults
return mappedResults
}
Может быть, кто-то уже работает с поиском текста на mongodb с помощью Java, пожалуйста, поделитесь с нами своими знаниями)