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