diff --git a/springboot-elasticsearch/src/main/java/org/spring/springboot/controller/CityRestController.java b/springboot-elasticsearch/src/main/java/org/spring/springboot/controller/CityRestController.java index b8b443d..2f2f4f5 100644 --- a/springboot-elasticsearch/src/main/java/org/spring/springboot/controller/CityRestController.java +++ b/springboot-elasticsearch/src/main/java/org/spring/springboot/controller/CityRestController.java @@ -3,9 +3,10 @@ package org.spring.springboot.controller; import org.spring.springboot.domain.City; import org.spring.springboot.service.CityService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Page; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 城市 Controller 实现 Restful HTTP 服务 *

@@ -18,14 +19,14 @@ public class CityRestController { private CityService cityService; @RequestMapping(value = "/api/city", method = RequestMethod.POST) - public void createCity(@RequestBody City city) { - cityService.saveCity(city); + public Long createCity(@RequestBody City city) { + return cityService.saveCity(city); } @RequestMapping(value = "/api/city/search", method = RequestMethod.GET) - public Page searchCity(@RequestParam(value = "pageNumber") Integer pageNumber, - @RequestParam(value = "pageSize", required = false) Integer pageSize, - @RequestParam(value = "searchContent") String searchContent) { + public List searchCity(@RequestParam(value = "pageNumber") Integer pageNumber, + @RequestParam(value = "pageSize", required = false) Integer pageSize, + @RequestParam(value = "searchContent") String searchContent) { return cityService.searchCity(pageNumber,pageSize,searchContent); } } diff --git a/springboot-elasticsearch/src/main/java/org/spring/springboot/domain/City.java b/springboot-elasticsearch/src/main/java/org/spring/springboot/domain/City.java index 20b575e..55a1b5e 100644 --- a/springboot-elasticsearch/src/main/java/org/spring/springboot/domain/City.java +++ b/springboot-elasticsearch/src/main/java/org/spring/springboot/domain/City.java @@ -9,11 +9,10 @@ import java.io.Serializable; * * Created by bysocket on 03/05/2017. */ -@Document(indexName = "cityIndex", type = "city") -public class City { +@Document(indexName = "cityindex", type = "city") +public class City implements Serializable{ -// implements Serializable -// private static final long serialVersionUID = -1L; + private static final long serialVersionUID = -1L; /** * 城市编号 diff --git a/springboot-elasticsearch/src/main/java/org/spring/springboot/repository/CityRepository.java b/springboot-elasticsearch/src/main/java/org/spring/springboot/repository/CityRepository.java new file mode 100644 index 0000000..c262e81 --- /dev/null +++ b/springboot-elasticsearch/src/main/java/org/spring/springboot/repository/CityRepository.java @@ -0,0 +1,14 @@ +package org.spring.springboot.repository; + +import org.spring.springboot.domain.City; +import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; +import org.springframework.stereotype.Repository; + +/** + * Created by bysocket on 17/05/2017. + */ +@Repository +public interface CityRepository extends ElasticsearchRepository { + + +} diff --git a/springboot-elasticsearch/src/main/java/org/spring/springboot/service/CityService.java b/springboot-elasticsearch/src/main/java/org/spring/springboot/service/CityService.java index 24646a0..ebbde17 100644 --- a/springboot-elasticsearch/src/main/java/org/spring/springboot/service/CityService.java +++ b/springboot-elasticsearch/src/main/java/org/spring/springboot/service/CityService.java @@ -2,7 +2,7 @@ package org.spring.springboot.service; import org.spring.springboot.domain.City; -import org.springframework.data.domain.Page; +import java.util.List; public interface CityService { @@ -22,5 +22,5 @@ public interface CityService { * @param searchContent * @return */ - Page searchCity(Integer pageNumber, Integer pageSize, String searchContent); + List searchCity(Integer pageNumber, Integer pageSize, String searchContent); } \ No newline at end of file diff --git a/springboot-elasticsearch/src/main/java/org/spring/springboot/service/impl/CityServiceImpl.java b/springboot-elasticsearch/src/main/java/org/spring/springboot/service/impl/CityServiceImpl.java index eb14d79..154f631 100644 --- a/springboot-elasticsearch/src/main/java/org/spring/springboot/service/impl/CityServiceImpl.java +++ b/springboot-elasticsearch/src/main/java/org/spring/springboot/service/impl/CityServiceImpl.java @@ -34,17 +34,17 @@ public class CityServiceImpl implements CityService { @Override public Long saveCity(City city) { + City cityResult = cityRepository.save(city); return cityResult.getId(); } @Override - public Page searchCity(Integer pageNumber, + public List searchCity(Integer pageNumber, Integer pageSize, String searchContent) { // 分页参数 - // 按城市编号倒序 - Pageable pageable = new PageRequest(pageNumber, pageSize, Sort.Direction.DESC, "id"); + Pageable pageable = new PageRequest(pageNumber, pageSize); // Function Score Query FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery() @@ -60,7 +60,8 @@ public class CityServiceImpl implements CityService { LOGGER.info("\n searchCity(): searchContent [" + searchContent + "] \n DSL = \n " + searchQuery.getQuery().toString()); - return cityRepository.search(searchQuery); + Page searchPageResults = cityRepository.search(searchQuery); + return searchPageResults.getContent(); } }