Ограничение количества поисковой выдачи
This commit is contained in:
@@ -7,6 +7,6 @@ package kinosearch.kinosearch3.base;
|
||||
import java.util.List;
|
||||
|
||||
public interface BaseRepository {
|
||||
List<CinemaDocument> findByTitle(String title);
|
||||
List<CinemaDocument> findByTitle(String title, int page);
|
||||
void save(CinemaDocument cinemaDocument);
|
||||
}
|
||||
|
||||
@@ -22,10 +22,13 @@ public class MongoDBRepository implements BaseRepository {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CinemaDocument> findByTitle(String title) {
|
||||
public List<CinemaDocument> findByTitle(String title, int page) {
|
||||
Query query = new Query();
|
||||
final String regex = String.format(".*%s.*", Pattern.quote(title));
|
||||
query.addCriteria(Criteria.where("title").regex(regex, "i"));
|
||||
final int limitPage = 10;
|
||||
query.skip(limitPage * (page-1));
|
||||
query.limit(limitPage);
|
||||
logger.debug("query: {}", query.toString());
|
||||
return mongoOperations.find(query, CinemaDocument.class);
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ public class WebAppController {
|
||||
if (searchText.trim().isEmpty()) {
|
||||
return "redirect:/";
|
||||
}
|
||||
List<CinemaDocument> cinemaDocuments = baseRepository.findByTitle(searchText.trim());
|
||||
List<CinemaDocument> cinemaDocuments = baseRepository.findByTitle(searchText.trim(), 1);
|
||||
model.addAttribute("cindocs", cinemaDocuments);
|
||||
model.addAttribute("searchText", searchText);
|
||||
return "searchResult";
|
||||
|
||||
Reference in New Issue
Block a user