From a6c910d3d9ed06717944848cc7b1a0e8c8b2c3e9 Mon Sep 17 00:00:00 2001 From: liqiangqiang Date: Wed, 14 Jun 2017 19:33:21 +0800 Subject: [PATCH] =?UTF-8?q?Spring=20Data=20Elasticsearch=20-=20=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springboot/repository/CityRepository.java | 39 ++++++++++++++++--- .../springboot/service/CityService.java | 36 +++++++++++++++++ 2 files changed, 70 insertions(+), 5 deletions(-) diff --git a/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/repository/CityRepository.java b/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/repository/CityRepository.java index 9548ae8..c4df89d 100644 --- a/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/repository/CityRepository.java +++ b/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/repository/CityRepository.java @@ -15,23 +15,52 @@ import java.util.List; */ public interface CityRepository extends ElasticsearchRepository { /** + * AND 语句查询 + * * @param description * @param score * @return */ List findByDescriptionAndScore(String description, Integer score); + /** + * OR 语句查询 + * + * @param description + * @param score + * @return + */ List findByDescriptionOrScore(String description, Integer score); + /** + * 查询城市描述 + * + * 等同于下面代码 + * @Query("{\"bool\" : {\"must\" : {\"term\" : {\"description\" : \"?0\"}}}}") + * Page findByDescription(String description, Pageable pageable); + * + * @param description + * @param page + * @return + */ Page findByDescription(String description, Pageable page); -// @Query("{\"bool\" : {\"must\" : {\"term\" : {\"description\" : \"?0\"}}}}") -// Page findByDescription(String description, Pageable pageable); - + /** + * NOT 语句查询 + * + * @param description + * @param page + * @return + */ Page findByDescriptionNot(String description, Pageable page); + /** + * LIKE 语句查询 + * + * @param description + * @param page + * @return + */ Page findByDescriptionLike(String description, Pageable page); - Page findByScoreBetween(Integer score, Pageable page); - } diff --git a/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/service/CityService.java b/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/service/CityService.java index 998c237..4fa56ea 100644 --- a/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/service/CityService.java +++ b/spring-data-elasticsearch-crud/src/main/java/org/spring/springboot/service/CityService.java @@ -5,6 +5,10 @@ import org.spring.springboot.domain.City; import java.util.List; +/** + * 城市 ES 业务接口类 + * + */ public interface CityService { /** @@ -15,13 +19,45 @@ public interface CityService { */ Long saveCity(City city); + /** + * AND 语句查询 + * + * @param description + * @param score + * @return + */ List findByDescriptionAndScore(String description, Integer score); + /** + * OR 语句查询 + * + * @param description + * @param score + * @return + */ List findByDescriptionOrScore(String description, Integer score); + /** + * 查询城市描述 + * + * @param description + * @return + */ List findByDescription(String description); + /** + * NOT 语句查询 + * + * @param description + * @return + */ List findByDescriptionNot(String description); + /** + * LIKE 语句查询 + * + * @param description + * @return + */ List findByDescriptionLike(String description); } \ No newline at end of file