diff --git a/ebatis-core/pom.xml b/ebatis-core/pom.xml index 87e040f..8776e6c 100644 --- a/ebatis-core/pom.xml +++ b/ebatis-core/pom.xml @@ -5,7 +5,7 @@ ebatis io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE 4.0.0 ebatis-core diff --git a/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/DefaultRange.java b/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/DefaultRange.java index b3141ad..2b8dd42 100644 --- a/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/DefaultRange.java +++ b/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/DefaultRange.java @@ -1,12 +1,14 @@ package io.manbang.ebatis.core.domain; import io.manbang.ebatis.core.exception.ConditionNotSupportException; +import org.elasticsearch.common.geo.ShapeRelation; import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import java.util.Calendar; import java.util.Date; +import java.util.Objects; /** @@ -20,6 +22,7 @@ class DefaultRange> implements Range { private IntervalType leftIntervalType; private IntervalType rightIntervalType; private String name; + private ShapeRelation relation; public DefaultRange(T min, T max) { this.min = min; @@ -73,6 +76,30 @@ public Range openRight() { return this; } + @Override + public Range intersects() { + relation = ShapeRelation.INTERSECTS; + return this; + } + + @Override + public Range disjoint() { + relation = ShapeRelation.DISJOINT; + return this; + } + + @Override + public Range within() { + relation = ShapeRelation.WITHIN; + return this; + } + + @Override + public Range contains() { + relation = ShapeRelation.CONTAINS; + return this; + } + @Override public QueryBuilder toBuilder() { Object left = getValue(min); @@ -80,6 +107,10 @@ public QueryBuilder toBuilder() { RangeQueryBuilder builder = QueryBuilders.rangeQuery(name); + //设置范围关系 + if (Objects.nonNull(relation)) { + builder.relation(relation.getRelationName()); + } // 如果左界限为空,右界限肯定不是空值,因为上面已经判断了,左右界限同时为空的场景 if (left == null) { rightIntervalType.right(builder, right); diff --git a/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/Range.java b/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/Range.java index b4b27b8..e8b12c6 100644 --- a/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/Range.java +++ b/ebatis-core/src/main/java/io/manbang/ebatis/core/domain/Range.java @@ -100,6 +100,34 @@ static > Range ge(T min) { */ Range openRight(); + /** + * 范围相交 + * + * @return 自身 + */ + Range intersects(); + + /** + * 范围不相交 + * + * @return 自身 + */ + Range disjoint(); + + /** + * 范围在内部 + * + * @return 自身 + */ + Range within(); + + /** + * 范围包含 + * + * @return 自身 + */ + Range contains(); + /** * 转换成ES的插叙构建器 * diff --git a/ebatis-sample/pom.xml b/ebatis-sample/pom.xml index 67124df..329d3f0 100644 --- a/ebatis-sample/pom.xml +++ b/ebatis-sample/pom.xml @@ -5,7 +5,7 @@ ebatis io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE 4.0.0 @@ -16,7 +16,7 @@ io.manbang ebatis-spring - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE diff --git a/ebatis-spring-boot/ebatis-spring-boot-autoconfigure/pom.xml b/ebatis-spring-boot/ebatis-spring-boot-autoconfigure/pom.xml index b5c2383..fbb6a55 100644 --- a/ebatis-spring-boot/ebatis-spring-boot-autoconfigure/pom.xml +++ b/ebatis-spring-boot/ebatis-spring-boot-autoconfigure/pom.xml @@ -5,7 +5,7 @@ ebatis-spring-boot io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE 4.0.0 diff --git a/ebatis-spring-boot/ebatis-spring-boot-starter/pom.xml b/ebatis-spring-boot/ebatis-spring-boot-starter/pom.xml index 9c4054f..0f13553 100644 --- a/ebatis-spring-boot/ebatis-spring-boot-starter/pom.xml +++ b/ebatis-spring-boot/ebatis-spring-boot-starter/pom.xml @@ -5,7 +5,7 @@ ebatis-spring-boot io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE 4.0.0 diff --git a/ebatis-spring-boot/pom.xml b/ebatis-spring-boot/pom.xml index 37b3ff4..17d4342 100644 --- a/ebatis-spring-boot/pom.xml +++ b/ebatis-spring-boot/pom.xml @@ -5,7 +5,7 @@ ebatis io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE 4.0.0 @@ -30,17 +30,17 @@ io.manbang ebatis-spring - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE io.manbang ebatis-core - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE io.manbang ebatis-spring-boot-autoconfigure - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE diff --git a/ebatis-spring/pom.xml b/ebatis-spring/pom.xml index e1f4eb1..1c5ae85 100644 --- a/ebatis-spring/pom.xml +++ b/ebatis-spring/pom.xml @@ -5,7 +5,7 @@ ebatis io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE 4.0.0 ebatis-spring @@ -14,7 +14,7 @@ ebatis-core io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE org.springframework diff --git a/ebatis-web/pom.xml b/ebatis-web/pom.xml index f25f661..fb1e239 100644 --- a/ebatis-web/pom.xml +++ b/ebatis-web/pom.xml @@ -5,7 +5,7 @@ ebatis io.manbang - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE 4.0.0 diff --git a/pom.xml b/pom.xml index c82432d..3b23aaf 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ io.manbang ebatis - 6.5.1.1.RELEASE + 6.5.1.2.RELEASE pom ebatis Elasticsearch ORM Framework @@ -29,7 +29,7 @@ 1.11 1.2 2.6 - 4.11 + 4.13.1 4.3.16.RELEASE 1.5.12.RELEASE 1.2.61 @@ -43,7 +43,7 @@ ${java.version} ${java.version} true - 2.8.11 + 2.11.3 2.6 1.0-rc5 1.0-rc7