0

Ограничение количества поисковой выдачи

This commit is contained in:
2017-06-03 13:11:06 +03:00
parent 3aecf0047a
commit cfb9678018
3 changed files with 6 additions and 3 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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";