diff --git a/README.md b/README.md index 92b41649..887a792e 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,14 @@

- 为简化开发工作、提高生产效率而生 + 您的Star是我继续前进的动力,如果喜欢EE请右上角帮忙点亮星星⭐!

maven - + code style @@ -44,7 +44,7 @@ Easy-Es是一款简化ElasticSearch搜索引擎操作的开源框架,全自动 底层采用Es官方提供的RestHighLevelClient,保证其原生性能及拓展性. -技术讨论 QQ 群 :247637156 群内可免费领取 颈椎保护 | 增肌 | 减脂 等健身计划 +技术讨论 QQ 群 :729148550 群内可在群文件中免费领取 颈椎保护 | 增肌 | 减脂 等健身计划 无套路 微信群请先添加作者微信,由作者拉入 (亦可咨询健身问题,作者是健身教练) @@ -144,15 +144,6 @@ compile group: 'cn.easy-es', name: 'easy-es-boot-starter', version: 'Latest Vers [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) -# 捐赠 | Donate ---- - -[捐赠记录,感谢你们的支持!](https://easy-es.cn/pages/b52ac5/) - -> 您的支持是鼓励我们前行的动力,无论金额多少都足够表达您这份心意。 - -> 如果您愿意捐赠本项目,推荐直接在右下方通过Gitee直接捐赠. - # 关注我 | About Me --- @@ -162,4 +153,22 @@ QQ | 微信:252645816 # 知识星球 | Planet Of Knowledge --- -zsxq \ No newline at end of file +zsxq + +# 捐赠 | Donate +--- + +[捐赠记录,感谢你们的支持!](https://easy-es.cn/pages/b52ac5/) + +> 您的支持是鼓励我们前行的动力,无论金额多少都足够表达您这份心意。 + +> 如果您愿意捐赠本项目,推荐直接在右下方通过Gitee直接捐赠. + +# 赞助商 | Sponsor +--- + +> 如果您想支持我们,奈何囊中羞涩,没事,您可以花30秒借花献佛,点击下方链接进入注册,则该赞助商会代您捐赠一笔小钱给社区开发者们买包辣条。 + + + ad + \ No newline at end of file diff --git a/README_EN.md b/README_EN.md index 9ad78e72..b5da399c 100644 --- a/README_EN.md +++ b/README_EN.md @@ -12,7 +12,7 @@ maven - + code style @@ -137,41 +137,44 @@ String indexName = "document"; --- ![Architecture](https://iknow.hs.net/27fb40b8-22d4-45c2-92e0-1471112d5102.jpg) -## Syntax comparison with MySQL +## MySQL Easy-Es and Es syntax comparison table --- -| MySQL | Easy-Es | -| ---- | ---- | -| and | and | -| or | or | -| = | eq | -| != | ne| -| > | gt | -| >= | ge | -| < | lt | -| <= | le | -| like '%field%' | like | -| not like '%field%' |notLike| -| like '%field' | likeLeft| -| like 'field%' | likeRight | -| between | between | -| notBetween | notBetween | -| is null | isNull | -| is notNull | isNotNull | -| in | in | -| not in | notIn | -| group by | groupBy | -| order by | orderBy | -|min |min | -|max |max | -|avg |avg | -|sum |sum | -|sum |sum | -| - | orderByAsc | -| - | orderByDesc | -| - | match | -|- |highLight | -| ... | ... | +| MySQL | Easy-Es | Es-DSL/Es java api| +| --- | --- |--- | +| and | and |must| +| or | or | should| +| = | eq | term| +| != | ne | boolQueryBuilder.mustNot(queryBuilder)| +| > | gt | QueryBuilders.rangeQuery('es field').gt()| +| >= | ge | .rangeQuery('es field').gte()| +| < | lt | .rangeQuery('es field').lt() | +| <= | le | .rangeQuery('es field').lte()| +| like '%field%' | like | QueryBuilders.wildcardQuery(field,*value*)| +| not like '%field%' | notLike | must not wildcardQuery(field,*value*)| +| like '%field' | likeLeft | QueryBuilders.wildcardQuery(field,*value)| +| like 'field%' | likeRight | QueryBuilders.wildcardQuery(field,value*)| +| between | between | QueryBuilders.rangeQuery('es field').from(xx).to(xx) | +| notBetween | notBetween | must not QueryBuilders.rangeQuery('es field').from(xx).to(xx)| +| is null | isNull | must not QueryBuilders.existsQuery(field) | +| is notNull | isNotNull | QueryBuilders.existsQuery(field)| +| in | in | QueryBuilders.termsQuery(" xx es field", xx)| +| not in | notIn | must not QueryBuilders.termsQuery(" xx es field", xx)| +| group by | groupBy | AggregationBuilders.terms()| +| order by | orderBy | fieldSortBuilder.order(ASC/DESC)| +| min | min | AggregationBuilders.min| +| max | max |AggregationBuilders.max| +| avg | avg |AggregationBuilders.avg| +| sum | sum |AggregationBuilders.sum| +| order by xxx asc | orderByAsc | fieldSortBuilder.order(SortOrder.ASC)| +| order by xxx desc | orderByDesc |fieldSortBuilder.order(SortOrder.DESC)| +| - | match |matchQuery| +| - | matchPhrase |QueryBuilders.matchPhraseQuery| +| - | matchPrefix |QueryBuilders.matchPhrasePrefixQuery| +| - | queryStringQuery |QueryBuilders.queryStringQuery| +| select * | matchAllQuery |QueryBuilders.matchAllQuery()| +| - | highLight |HighlightBuilder.Field | +| ... | ... | ...| --- ## Donate diff --git a/dist/img/640x240.png b/dist/img/640x240.png new file mode 100644 index 00000000..c42f4805 Binary files /dev/null and b/dist/img/640x240.png differ diff --git a/easy-es-annotation/pom.xml b/easy-es-annotation/pom.xml index b55edc02..1f267038 100644 --- a/easy-es-annotation/pom.xml +++ b/easy-es-annotation/pom.xml @@ -7,7 +7,7 @@ cn.easy-es easy-es-parent - 1.0.3 + 1.1.1 ../easy-es-parent @@ -18,10 +18,4 @@ 8 - - - cn.easy-es - easy-es-common - - \ No newline at end of file diff --git a/easy-es-annotation/src/main/java/cn/easyes/annotation/HighLight.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/HighLight.java index 6461d5e4..5b7f76e4 100644 --- a/easy-es-annotation/src/main/java/cn/easyes/annotation/HighLight.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/HighLight.java @@ -1,14 +1,15 @@ package cn.easyes.annotation; -import cn.easyes.common.enums.HighLightTypeEnum; +import cn.easyes.annotation.rely.HighLightTypeEnum; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import static cn.easyes.common.constants.BaseEsConstants.*; +import static cn.easyes.annotation.rely.AnnotationConstants.*; + /** * 字段注解 @@ -45,8 +46,10 @@ public @interface HighLight { * @return 高亮后置标签 */ String postTag() default HIGH_LIGHT_POST_TAG; + /** * 使用的高亮模式 + * * @return 高亮模式 */ HighLightTypeEnum highLightType() default HighLightTypeEnum.UNIFIED; diff --git a/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexField.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexField.java index 3894f5cc..006224a4 100644 --- a/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexField.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexField.java @@ -1,10 +1,7 @@ package cn.easyes.annotation; -import cn.easyes.common.constants.Analyzer; -import cn.easyes.common.enums.FieldStrategy; -import cn.easyes.common.enums.FieldType; -import cn.easyes.common.params.DefaultNestedClass; -import cn.easyes.common.params.JoinField; + +import cn.easyes.annotation.rely.*; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexId.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexId.java index ca0cc473..b48fc16b 100644 --- a/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexId.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexId.java @@ -1,6 +1,6 @@ package cn.easyes.annotation; -import cn.easyes.common.enums.IdType; +import cn.easyes.annotation.rely.IdType; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexName.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexName.java index ca4e2bc8..de7d6fd9 100644 --- a/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexName.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/IndexName.java @@ -1,14 +1,14 @@ package cn.easyes.annotation; -import cn.easyes.common.constants.BaseEsConstants; -import cn.easyes.common.params.DefaultChildClass; -import cn.easyes.common.params.JoinField; +import cn.easyes.annotation.rely.DefaultChildClass; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import static cn.easyes.annotation.rely.AnnotationConstants.*; + /** * 索引注解 *

@@ -29,21 +29,28 @@ public @interface IndexName { * * @return 默认为1 */ - int shardsNum() default BaseEsConstants.DEFAULT_SHARDS; + int shardsNum() default DEFAULT_SHARDS; /** * 副本数 * * @return 默认为1 */ - int replicasNum() default BaseEsConstants.DEFAULT_REPLICAS; + int replicasNum() default DEFAULT_REPLICAS; + + /** + * 默认最大返回数 + * + * @return 默认1w条 + */ + int maxResultWindow() default DEFAULT_MAX_RESULT_WINDOW; /** * 索引别名 * * @return 别名 */ - String aliasName() default BaseEsConstants.DEFAULT_ALIAS; + String aliasName() default DEFAULT_ALIAS; /** * 是否保持使用全局的 tablePrefix 的值 @@ -67,5 +74,4 @@ public @interface IndexName { * @return 默认子类 */ Class childClass() default DefaultChildClass.class; - } diff --git a/easy-es-common/src/main/java/cn/easyes/common/constants/Analyzer.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/Analyzer.java similarity index 97% rename from easy-es-common/src/main/java/cn/easyes/common/constants/Analyzer.java rename to easy-es-annotation/src/main/java/cn/easyes/annotation/rely/Analyzer.java index c528e230..8422ec89 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/constants/Analyzer.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/Analyzer.java @@ -1,4 +1,4 @@ -package cn.easyes.common.constants; +package cn.easyes.annotation.rely; /** * 分词器 如果不包含用户所需分词器,可自行指定传入字符串 diff --git a/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/AnnotationConstants.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/AnnotationConstants.java new file mode 100644 index 00000000..9b0d4739 --- /dev/null +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/AnnotationConstants.java @@ -0,0 +1,37 @@ +package cn.easyes.annotation.rely; + +/** + * 注解依赖常量 + *

+ * Copyright © 2022 xpc1024 All Rights Reserved + **/ +public interface AnnotationConstants { + /** + * 高亮默认前缀标签 + */ + String HIGH_LIGHT_PRE_TAG = ""; + /** + * 高亮默认后缀标签 + */ + String HIGH_LIGHT_POST_TAG = ""; + /** + * 高亮截取默认长度 + */ + int DEFAULT_FRAGMENT_SIZE = 100; + /** + * 默认分片数 + */ + int DEFAULT_SHARDS = 1; + /** + * 默认副本数 + */ + int DEFAULT_REPLICAS = 1; + /** + * 默认最大返回数 + */ + int DEFAULT_MAX_RESULT_WINDOW = 10000; + /** + * 默认索引别名 + */ + String DEFAULT_ALIAS = "ee_default_alias"; +} diff --git a/easy-es-common/src/main/java/cn/easyes/common/params/DefaultChildClass.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/DefaultChildClass.java similarity index 78% rename from easy-es-common/src/main/java/cn/easyes/common/params/DefaultChildClass.java rename to easy-es-annotation/src/main/java/cn/easyes/annotation/rely/DefaultChildClass.java index 18ae6761..38c85a89 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/params/DefaultChildClass.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/DefaultChildClass.java @@ -1,4 +1,4 @@ -package cn.easyes.common.params; +package cn.easyes.annotation.rely; /** * 父子类型-默认子类 diff --git a/easy-es-common/src/main/java/cn/easyes/common/params/DefaultNestedClass.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/DefaultNestedClass.java similarity index 77% rename from easy-es-common/src/main/java/cn/easyes/common/params/DefaultNestedClass.java rename to easy-es-annotation/src/main/java/cn/easyes/annotation/rely/DefaultNestedClass.java index 8d1a95f1..6947ea49 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/params/DefaultNestedClass.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/DefaultNestedClass.java @@ -1,4 +1,4 @@ -package cn.easyes.common.params; +package cn.easyes.annotation.rely; /** * 默认嵌套类 diff --git a/easy-es-common/src/main/java/cn/easyes/common/enums/FieldStrategy.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/FieldStrategy.java similarity index 90% rename from easy-es-common/src/main/java/cn/easyes/common/enums/FieldStrategy.java rename to easy-es-annotation/src/main/java/cn/easyes/annotation/rely/FieldStrategy.java index f73b4d17..c73435d0 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/enums/FieldStrategy.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/FieldStrategy.java @@ -1,4 +1,4 @@ -package cn.easyes.common.enums; +package cn.easyes.annotation.rely; /** * 字段策略枚举 diff --git a/easy-es-common/src/main/java/cn/easyes/common/enums/FieldType.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/FieldType.java similarity index 87% rename from easy-es-common/src/main/java/cn/easyes/common/enums/FieldType.java rename to easy-es-annotation/src/main/java/cn/easyes/annotation/rely/FieldType.java index 98298250..d49dfc7f 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/enums/FieldType.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/FieldType.java @@ -1,14 +1,10 @@ -package cn.easyes.common.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; +package cn.easyes.annotation.rely; /** * Es支持的数据类型枚举 *

* Copyright © 2021 xpc1024 All Rights Reserved **/ -@AllArgsConstructor public enum FieldType { /** * none Required inside the framework, do not use 框架内部需要,切勿使用,若不慎使用则会被当做keyword类型 @@ -52,8 +48,14 @@ public enum FieldType { TOKEN("token"), ATTACHMENT("attachment"), PERCOLATOR("percolator"); - @Getter + private String type; + FieldType(String type) { + this.type = type; + } + public String getType() { + return type; + } } diff --git a/easy-es-common/src/main/java/cn/easyes/common/enums/HighLightTypeEnum.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/HighLightTypeEnum.java similarity index 88% rename from easy-es-common/src/main/java/cn/easyes/common/enums/HighLightTypeEnum.java rename to easy-es-annotation/src/main/java/cn/easyes/annotation/rely/HighLightTypeEnum.java index 49538bc5..d91602ee 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/enums/HighLightTypeEnum.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/HighLightTypeEnum.java @@ -1,15 +1,11 @@ -package cn.easyes.common.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; +package cn.easyes.annotation.rely; /** * 高亮类型枚举 *

* Copyright © 2021 xpc1024 All Rights Reserved **/ -@Getter -@AllArgsConstructor + public enum HighLightTypeEnum { /** * unified(通用高亮策略,缺省配置时,默认采用此策略) @@ -34,4 +30,12 @@ public enum HighLightTypeEnum { * 聚合类型英文名 */ private final String value; + + HighLightTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } } diff --git a/easy-es-common/src/main/java/cn/easyes/common/enums/IdType.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/IdType.java similarity index 90% rename from easy-es-common/src/main/java/cn/easyes/common/enums/IdType.java rename to easy-es-annotation/src/main/java/cn/easyes/annotation/rely/IdType.java index 553a1ff7..4a77ac4e 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/enums/IdType.java +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/IdType.java @@ -1,4 +1,4 @@ -package cn.easyes.common.enums; +package cn.easyes.annotation.rely; /** * 主键类型枚举 diff --git a/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/JoinField.java b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/JoinField.java new file mode 100644 index 00000000..86391efc --- /dev/null +++ b/easy-es-annotation/src/main/java/cn/easyes/annotation/rely/JoinField.java @@ -0,0 +1,41 @@ +package cn.easyes.annotation.rely; + +/** + * 父子类型统一关系字段,推荐直接使用此类,不要重复造轮子 + *

+ * Copyright © 2022 xpc1024 All Rights Reserved + **/ +public class JoinField { + /** + * 字段名 + */ + private String name; + /** + * 父文档id + */ + private String parent; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getParent() { + return parent; + } + + public void setParent(String parent) { + this.parent = parent; + } + + @Override + public String toString() { + return "JoinField{" + + "name='" + name + '\'' + + ", parent='" + parent + '\'' + + '}'; + } +} diff --git a/easy-es-boot-starter/pom.xml b/easy-es-boot-starter/pom.xml index dc449aa9..d3f23108 100644 --- a/easy-es-boot-starter/pom.xml +++ b/easy-es-boot-starter/pom.xml @@ -5,7 +5,7 @@ easy-es-parent cn.easy-es - 1.0.3 + 1.1.1 ../easy-es-parent 4.0.0 diff --git a/easy-es-boot-starter/src/main/java/cn/easyes/starter/config/EsAutoConfiguration.java b/easy-es-boot-starter/src/main/java/cn/easyes/starter/config/EsAutoConfiguration.java index 940fa93c..0d06bf19 100644 --- a/easy-es-boot-starter/src/main/java/cn/easyes/starter/config/EsAutoConfiguration.java +++ b/easy-es-boot-starter/src/main/java/cn/easyes/starter/config/EsAutoConfiguration.java @@ -104,7 +104,8 @@ public class EsAutoConfiguration { Integer connectTimeOut = easyEsConfigProperties.getConnectTimeout(); Integer socketTimeOut = easyEsConfigProperties.getSocketTimeout(); Integer connectionRequestTimeOut = easyEsConfigProperties.getConnectionRequestTimeout(); - boolean needSetRequestConfig = Objects.nonNull(connectTimeOut) || Objects.nonNull(connectionRequestTimeOut); + boolean needSetRequestConfig = Objects.nonNull(connectTimeOut) || Objects.nonNull(socketTimeOut) || + Objects.nonNull(connectionRequestTimeOut); if (needSetRequestConfig) { builder.setRequestConfigCallback(requestConfigBuilder -> { Optional.ofNullable(connectTimeOut).ifPresent(requestConfigBuilder::setConnectTimeout); diff --git a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperFactoryBean.java b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperFactoryBean.java index a646606e..7aef3d66 100644 --- a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperFactoryBean.java +++ b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperFactoryBean.java @@ -2,8 +2,8 @@ package cn.easyes.starter.register; import cn.easyes.annotation.EsDS; import cn.easyes.annotation.Intercepts; +import cn.easyes.annotation.rely.DefaultChildClass; import cn.easyes.common.enums.ProcessIndexStrategyEnum; -import cn.easyes.common.params.DefaultChildClass; import cn.easyes.common.utils.LogUtils; import cn.easyes.common.utils.RestHighLevelClientUtils; import cn.easyes.common.utils.TypeUtils; diff --git a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java index ed01e29b..9cfb927d 100644 --- a/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java +++ b/easy-es-boot-starter/src/main/java/cn/easyes/starter/register/MapperScannerRegister.java @@ -54,8 +54,13 @@ public class MapperScannerRegister implements ImportBeanDefinitionRegistrar, Res " |___| \\__,_| /__/_ _|__/ _____ |___| /__/_\n" + "_|\"\"\"\"\"|_|\"\"\"\"\"|_|\"\"\"\"\"|_| \"\"\"\"|_| |_|\"\"\"\"\"|_|\"\"\"\"\"|\n" + "\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\n" + - "----------添加老汉微信:252645816,早日成为肌肉猛男----------->"); - System.out.println(":: easy-es :: (v:" + versionStr + ")"); + "------------------------------------------------------>" + ); + System.out.println(":: version :: " + versionStr + " >"); + System.out.println(":: home :: https://easy-es.cn/ >"); + System.out.println(":: community :: https://dromara.org/ >"); + System.out.println(":: wechat :: 252645816, add and become muscle man! >"); + System.out.println("------------------------------------------------------>"); } AnnotationAttributes mapperScanAttrs = AnnotationAttributes diff --git a/easy-es-common/pom.xml b/easy-es-common/pom.xml index c8480147..eb5be99a 100644 --- a/easy-es-common/pom.xml +++ b/easy-es-common/pom.xml @@ -6,7 +6,7 @@ cn.easy-es easy-es-parent - 1.0.3 + 1.1.1 ../easy-es-parent diff --git a/easy-es-common/src/main/java/cn/easyes/common/constants/BaseEsConstants.java b/easy-es-common/src/main/java/cn/easyes/common/constants/BaseEsConstants.java index ecda9aae..215fb43d 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/constants/BaseEsConstants.java +++ b/easy-es-common/src/main/java/cn/easyes/common/constants/BaseEsConstants.java @@ -34,18 +34,7 @@ public interface BaseEsConstants { * 数字-1 */ Integer MINUS_ONE = -1; - /** - * 默认索引别名 - */ - String DEFAULT_ALIAS = "ee_default_alias"; - /** - * 高亮默认前缀标签 - */ - String HIGH_LIGHT_PRE_TAG = ""; - /** - * 高亮默认后缀标签 - */ - String HIGH_LIGHT_POST_TAG = ""; + /** * 默认的当前页码 */ @@ -102,6 +91,10 @@ public interface BaseEsConstants { * 副本数量字段 */ String REPLICAS_FIELD = "index.number_of_replicas"; + /** + * 最大返回个数字段 + */ + String MAX_RESULT_WINDOW_FIELD = "index.max_result_window"; /** * 索引特性 */ @@ -194,14 +187,7 @@ public interface BaseEsConstants { * 初始任务执行延迟 */ int INITIAL_DELAY = 30; - /** - * 默认分片数 - */ - int DEFAULT_SHARDS = 1; - /** - * 默认副本数 - */ - int DEFAULT_REPLICAS = 1; + /** * 被折叠的重复数据数量的key */ @@ -230,13 +216,13 @@ public interface BaseEsConstants { * 索引权重key */ String BOOST_KEY = "boost"; - /** - * 高亮截取默认长度 - */ - int DEFAULT_FRAGMENT_SIZE = 100; /** * 针对text进行聚合 */ String FIELD_DATA = "fielddata"; + /** + * 未知的版本号 + */ + String UNKNOWN = "unknown"; } diff --git a/easy-es-common/src/main/java/cn/easyes/common/params/JoinField.java b/easy-es-common/src/main/java/cn/easyes/common/params/JoinField.java deleted file mode 100644 index b174befc..00000000 --- a/easy-es-common/src/main/java/cn/easyes/common/params/JoinField.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.easyes.common.params; - -import lombok.Data; - -/** - * 父子类型统一关系字段,推荐直接使用此类,不要重复造轮子 - *

- * Copyright © 2022 xpc1024 All Rights Reserved - **/ -@Data -public class JoinField { - /** - * 字段名 - */ - private String name; - /** - * 父文档id - */ - private String parent; -} diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtils.java b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtils.java index 0b64a58d..e0fed19c 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtils.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/EEVersionUtils.java @@ -8,6 +8,8 @@ import org.elasticsearch.client.RestHighLevelClient; import java.io.IOException; import java.util.Optional; +import static cn.easyes.common.constants.BaseEsConstants.UNKNOWN; + /** * ee 版本工具类 * @@ -31,7 +33,7 @@ public class EEVersionUtils { */ public static String getJarVersion(Class objectClass) { return Optional.ofNullable(objectClass.getPackage().getImplementationVersion()). - orElse("unknown"); + orElse(UNKNOWN); } /** diff --git a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java index cc683a2d..d03e0ead 100644 --- a/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java +++ b/easy-es-common/src/main/java/cn/easyes/common/utils/RestHighLevelClientBuilder.java @@ -5,15 +5,21 @@ import lombok.NoArgsConstructor; import org.elasticsearch.client.RestClientBuilder; import org.elasticsearch.client.RestHighLevelClient; +import static cn.easyes.common.constants.BaseEsConstants.UNKNOWN; + /** * elasticsearch 构造器 */ @NoArgsConstructor(access = AccessLevel.PRIVATE) public class RestHighLevelClientBuilder { /** - * 支持的版本 目前支持版本为7.xx 推荐7.14.0 + * 支持的版本 目前支持版本为7.14.0 稳定无漏洞版 */ - private final static String supportedVersion = "7"; + private final static String SUPPORTED_JAR_VERSION = "7.14.0"; + /** + * 支持的客户端版本 目前支持7.xx 推荐7.14.0 + */ + private final static String SUPPORTED_CLIENT_VERSION = "7"; /** * 构建RestHighLevelClient @@ -37,19 +43,18 @@ public class RestHighLevelClientBuilder { // 校验jar包版本是否为推荐使用版本 String jarVersion = EEVersionUtils.getJarVersion(restHighLevelClient.getClass()); LogUtils.formatInfo("Elasticsearch jar version:%s", jarVersion); - if (!jarVersion.startsWith(supportedVersion)) { - // 这里抛出异常原因是ee强制依赖于jar包版本,jar包版本不对会导致ee异常 - throw ExceptionUtils.eee("Easy-Es supported elasticsearch jar version is:%s.xx", supportedVersion); + if (!jarVersion.equals(SUPPORTED_JAR_VERSION) && !UNKNOWN.equals(jarVersion)) { + LogUtils.formatError("Easy-Es supported elasticsearch and restHighLevelClient jar version is:%s ,Please resolve the dependency conflict!", SUPPORTED_JAR_VERSION); } String clientVersion = EEVersionUtils.getClientVersion(restHighLevelClient); LogUtils.formatInfo("Elasticsearch client version:%s", clientVersion); - if (!clientVersion.startsWith(supportedVersion)) { + if (!clientVersion.startsWith(SUPPORTED_CLIENT_VERSION)) { // 这里校验客户端为非强制,客户端版本非推荐版本对应提醒即可,es会报错提醒 - LogUtils.formatWarn("Easy-Es supported elasticsearch client version is:%s.xx", supportedVersion); + LogUtils.formatWarn("Easy-Es supported elasticsearch client version is:%s.xx", SUPPORTED_CLIENT_VERSION); } if (!jarVersion.equals(clientVersion)) { // 提示jar包与客户端版本不对应,es官方推荐jar包版本对应客户端版本 - LogUtils.formatWarn("Elasticsearch clientVersion:%s not equals jarVersion:%s", clientVersion, jarVersion); + LogUtils.formatWarn("Elasticsearch clientVersion:%s not equals jarVersion:%s, It does not affect your use, but we still recommend keeping it consistent!", clientVersion, jarVersion); } } } diff --git a/easy-es-core/pom.xml b/easy-es-core/pom.xml index 230c9ccd..b2541aca 100644 --- a/easy-es-core/pom.xml +++ b/easy-es-core/pom.xml @@ -7,7 +7,7 @@ cn.easy-es easy-es-parent - 1.0.3 + 1.1.1 ../easy-es-parent diff --git a/easy-es-core/src/main/java/cn/easyes/core/biz/CreateIndexParam.java b/easy-es-core/src/main/java/cn/easyes/core/biz/CreateIndexParam.java index bd67db86..80ec95ba 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/biz/CreateIndexParam.java +++ b/easy-es-core/src/main/java/cn/easyes/core/biz/CreateIndexParam.java @@ -34,6 +34,10 @@ public class CreateIndexParam { * 副本数 */ private Integer replicasNum; + /** + * 最大返回数 + */ + private Integer maxResultWindow; /** * 索引字段及类型分词器等信息 */ diff --git a/easy-es-core/src/main/java/cn/easyes/core/biz/EntityFieldInfo.java b/easy-es-core/src/main/java/cn/easyes/core/biz/EntityFieldInfo.java index 91eac6d9..8c5e4682 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/biz/EntityFieldInfo.java +++ b/easy-es-core/src/main/java/cn/easyes/core/biz/EntityFieldInfo.java @@ -1,8 +1,8 @@ package cn.easyes.core.biz; import cn.easyes.annotation.IndexField; -import cn.easyes.common.enums.FieldStrategy; -import cn.easyes.common.enums.FieldType; +import cn.easyes.annotation.rely.FieldStrategy; +import cn.easyes.annotation.rely.FieldType; import cn.easyes.core.config.GlobalConfig; import com.alibaba.fastjson.serializer.NameFilter; import lombok.AccessLevel; @@ -36,7 +36,7 @@ public class EntityFieldInfo { */ private String mappingColumn; /** - * 自动在es中的存储类型 + * 自段在es中的存储类型 */ private FieldType fieldType; /** diff --git a/easy-es-core/src/main/java/cn/easyes/core/biz/EntityInfo.java b/easy-es-core/src/main/java/cn/easyes/core/biz/EntityInfo.java index 7ca64ed1..6a67bc15 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/biz/EntityInfo.java +++ b/easy-es-core/src/main/java/cn/easyes/core/biz/EntityInfo.java @@ -1,8 +1,8 @@ package cn.easyes.core.biz; +import cn.easyes.annotation.rely.IdType; +import cn.easyes.annotation.rely.JoinField; import cn.easyes.common.constants.BaseEsConstants; -import cn.easyes.common.enums.IdType; -import cn.easyes.common.params.JoinField; import com.alibaba.fastjson.PropertyNamingStrategy; import com.alibaba.fastjson.parser.deserializer.ExtraProcessor; import com.alibaba.fastjson.serializer.SerializeFilter; @@ -14,6 +14,8 @@ import java.util.*; import java.util.function.Predicate; import java.util.stream.Collectors; +import static cn.easyes.annotation.rely.AnnotationConstants.DEFAULT_MAX_RESULT_WINDOW; + /** * 实体类信息 *

@@ -42,6 +44,10 @@ public class EntityInfo { * 重试成功的索引名 */ private String retrySuccessIndexName; + /** + * 最大返回数 + */ + private Integer maxResultWindow = DEFAULT_MAX_RESULT_WINDOW; /** * 表映射结果集 */ diff --git a/easy-es-core/src/main/java/cn/easyes/core/biz/EsIndexInfo.java b/easy-es-core/src/main/java/cn/easyes/core/biz/EsIndexInfo.java index 623e6d49..3a81d5ab 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/biz/EsIndexInfo.java +++ b/easy-es-core/src/main/java/cn/easyes/core/biz/EsIndexInfo.java @@ -26,6 +26,10 @@ public class EsIndexInfo { * 副本数 */ private Integer replicasNum; + /** + * 最大返回数 + */ + private Integer maxResultWindow; /** * 索引字段信息 */ diff --git a/easy-es-core/src/main/java/cn/easyes/core/biz/PageInfo.java b/easy-es-core/src/main/java/cn/easyes/core/biz/EsPageInfo.java similarity index 78% rename from easy-es-core/src/main/java/cn/easyes/core/biz/PageInfo.java rename to easy-es-core/src/main/java/cn/easyes/core/biz/EsPageInfo.java index 691deefc..9aac286c 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/biz/PageInfo.java +++ b/easy-es-core/src/main/java/cn/easyes/core/biz/EsPageInfo.java @@ -13,7 +13,7 @@ import java.util.List; **/ @Data @NoArgsConstructor -public class PageInfo extends PageSerializable { +public class EsPageInfo extends PageSerializable { /** * 当前页 */ @@ -72,7 +72,7 @@ public class PageInfo extends PageSerializable { /** * 所有导航页号 */ - private int[] navigatepageNums; + private int[] navigatePageNums; /** * 导航条上的第一页 */ @@ -87,7 +87,7 @@ public class PageInfo extends PageSerializable { * * @param list 数据 */ - public PageInfo(List list) { + public EsPageInfo(List list) { this(list, 8); } @@ -97,7 +97,7 @@ public class PageInfo extends PageSerializable { * @param list 数据 * @param navigatePages 导航页 */ - public PageInfo(List list, int navigatePages) { + public EsPageInfo(List list, int navigatePages) { super(list); this.pageNum = 1; this.pageSize = list.size(); @@ -108,34 +108,28 @@ public class PageInfo extends PageSerializable { this.endRow = list.size() > 0 ? list.size() - 1 : 0; this.navigatePages = navigatePages; - //计算导航页 - calcNavigatepageNums(); - //计算前后页,第一页,最后一页 - calcPage(); - //判断页面边界 - judgePageBoudary(); } - public static PageInfo of(List list) { - return new PageInfo(list); + public static EsPageInfo of(List list) { + return new EsPageInfo(list); } - public static PageInfo of(List list, int navigatePages) { - return new PageInfo(list, navigatePages); + public static EsPageInfo of(List list, int navigatePages) { + return new EsPageInfo(list, navigatePages); } /** * 计算导航页 */ - private void calcNavigatepageNums() { + public void calcNavigatePageNums() { //当总页数小于或等于导航页码数时 if (pages <= navigatePages) { - navigatepageNums = new int[pages]; + navigatePageNums = new int[pages]; for (int i = 0; i < pages; i++) { - navigatepageNums[i] = i + 1; + navigatePageNums[i] = i + 1; } } else { //当总页数大于导航页码数时 - navigatepageNums = new int[navigatePages]; + navigatePageNums = new int[navigatePages]; int startNum = pageNum - navigatePages / 2; int endNum = pageNum + navigatePages / 2; @@ -143,18 +137,18 @@ public class PageInfo extends PageSerializable { startNum = 1; //(最前navigatePages页 for (int i = 0; i < navigatePages; i++) { - navigatepageNums[i] = startNum++; + navigatePageNums[i] = startNum++; } } else if (endNum > pages) { endNum = pages; //最后navigatePages页 for (int i = navigatePages - 1; i >= 0; i--) { - navigatepageNums[i] = endNum--; + navigatePageNums[i] = endNum--; } } else { //所有中间页 for (int i = 0; i < navigatePages; i++) { - navigatepageNums[i] = startNum++; + navigatePageNums[i] = startNum++; } } } @@ -163,10 +157,10 @@ public class PageInfo extends PageSerializable { /** * 计算前后页,第一页,最后一页 */ - private void calcPage() { - if (navigatepageNums != null && navigatepageNums.length > 0) { - navigateFirstPage = navigatepageNums[0]; - navigateLastPage = navigatepageNums[navigatepageNums.length - 1]; + public void calcPage() { + if (navigatePageNums != null && navigatePageNums.length > 0) { + navigateFirstPage = navigatePageNums[0]; + navigateLastPage = navigatePageNums[navigatePageNums.length - 1]; if (pageNum > 1) { prePage = pageNum - 1; } @@ -179,10 +173,9 @@ public class PageInfo extends PageSerializable { /** * 判定页面边界 */ - private void judgePageBoudary() { + public void judgePageBoundary() { isFirstPage = pageNum == 1; isLastPage = pageNum == pages || pages == 0; - ; hasPreviousPage = pageNum > 1; hasNextPage = pageNum < pages; } @@ -203,7 +196,7 @@ public class PageInfo extends PageSerializable { ", hasPreviousPage=" + hasPreviousPage + ", hasNextPage=" + hasNextPage + ", navigatePages=" + navigatePages + - ", navigatepageNums=" + Arrays.toString(navigatepageNums) + + ", navigatepageNums=" + Arrays.toString(navigatePageNums) + ", navigateFirstPage=" + navigateFirstPage + ", navigateLastPage=" + navigateLastPage + ", total=" + total + diff --git a/easy-es-core/src/main/java/cn/easyes/core/biz/HighLightParam.java b/easy-es-core/src/main/java/cn/easyes/core/biz/HighLightParam.java index cf96af2e..bd2344f2 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/biz/HighLightParam.java +++ b/easy-es-core/src/main/java/cn/easyes/core/biz/HighLightParam.java @@ -1,6 +1,6 @@ package cn.easyes.core.biz; -import cn.easyes.common.enums.HighLightTypeEnum; +import cn.easyes.annotation.rely.HighLightTypeEnum; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/easy-es-core/src/main/java/cn/easyes/core/conditions/BaseEsMapperImpl.java b/easy-es-core/src/main/java/cn/easyes/core/conditions/BaseEsMapperImpl.java index e2fcc46f..c87578a3 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/conditions/BaseEsMapperImpl.java +++ b/easy-es-core/src/main/java/cn/easyes/core/conditions/BaseEsMapperImpl.java @@ -1,9 +1,9 @@ package cn.easyes.core.conditions; +import cn.easyes.annotation.rely.FieldStrategy; +import cn.easyes.annotation.rely.IdType; import cn.easyes.common.constants.BaseEsConstants; import cn.easyes.common.enums.EsQueryTypeEnum; -import cn.easyes.common.enums.FieldStrategy; -import cn.easyes.common.enums.IdType; import cn.easyes.common.utils.*; import cn.easyes.core.biz.*; import cn.easyes.core.cache.BaseCache; @@ -38,6 +38,7 @@ import org.elasticsearch.client.indices.PutMappingRequest; import org.elasticsearch.common.text.Text; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.index.query.BoolQueryBuilder; +import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.reindex.BulkByScrollResponse; import org.elasticsearch.index.reindex.DeleteByQueryRequest; @@ -177,7 +178,7 @@ public class BaseEsMapperImpl implements BaseEsMapper { } @Override - public PageInfo pageQuery(LambdaEsQueryWrapper wrapper, Integer pageNum, Integer pageSize) { + public EsPageInfo pageQuery(LambdaEsQueryWrapper wrapper, Integer pageNum, Integer pageSize) { // 兼容分页参数 pageNum = pageNum == null || pageNum <= BaseEsConstants.ZERO ? BaseEsConstants.PAGE_NUM : pageNum; pageSize = pageSize == null || pageSize <= BaseEsConstants.ZERO ? BaseEsConstants.PAGE_SIZE : pageSize; @@ -190,7 +191,8 @@ public class BaseEsMapperImpl implements BaseEsMapper { // 解析数据 SearchHit[] searchHits = parseSearchHitArray(response); - List dataList = Arrays.stream(searchHits).map(searchHit -> parseOne(searchHit, wrapper)) + List dataList = Arrays.stream(searchHits) + .map(searchHit -> parseOne(searchHit, wrapper)) .collect(Collectors.toList()); long count = parseCount(response, Objects.nonNull(wrapper.distinctField)); return PageHelper.getPageInfo(dataList, count, pageNum, pageSize); @@ -247,9 +249,11 @@ public class BaseEsMapperImpl implements BaseEsMapper { } else { // 不去重,直接count获取,效率更高 CountRequest countRequest = new CountRequest(getIndexNames(wrapper.indexNames)); - BoolQueryBuilder boolQueryBuilder = WrapperProcessor.initBoolQueryBuilder(wrapper.baseEsParamList, - wrapper.enableMust2Filter, entityClass); - countRequest.query(boolQueryBuilder); + QueryBuilder queryBuilder = Optional.ofNullable(wrapper.searchSourceBuilder) + .map(SearchSourceBuilder::query) + .orElseGet(() -> WrapperProcessor.initBoolQueryBuilder(wrapper.baseEsParamList, + wrapper.enableMust2Filter, entityClass)); + countRequest.query(queryBuilder); CountResponse count; try { printCountDSL(countRequest); @@ -495,6 +499,7 @@ public class BaseEsMapperImpl implements BaseEsMapper { // 设置分片个副本信息 Optional.ofNullable(wrapper.shardsNum).ifPresent(createIndexParam::setShardsNum); Optional.ofNullable(wrapper.replicasNum).ifPresent(createIndexParam::setReplicasNum); + Optional.ofNullable(wrapper.maxResultWindow).ifPresent(createIndexParam::setMaxResultWindow); // 设置用户自定义的settings Optional.ofNullable(wrapper.settings).ifPresent(createIndexParam::setSettings); @@ -760,9 +765,15 @@ public class BaseEsMapperImpl implements BaseEsMapper { private SearchResponse getSearchResponse(LambdaEsQueryWrapper wrapper, Object[] searchAfter) { // 构建es restHighLevelClient 查询参数 SearchRequest searchRequest = new SearchRequest(getIndexNames(wrapper.indexNames)); + // 用户在wrapper中指定的混合查询条件优先级最高 - SearchSourceBuilder searchSourceBuilder = Objects.isNull(wrapper.searchSourceBuilder) ? - WrapperProcessor.buildSearchSourceBuilder(wrapper, entityClass) : wrapper.searchSourceBuilder; + SearchSourceBuilder searchSourceBuilder = Optional.ofNullable(wrapper.searchSourceBuilder) + .map(builder -> { + // 兼容混合查询时用户在分页中自定义的分页参数 + Optional.ofNullable(wrapper.from).ifPresent(builder::from); + Optional.ofNullable(wrapper.size).ifPresent(builder::size); + return builder; + }).orElseGet(() -> WrapperProcessor.buildSearchSourceBuilder(wrapper, entityClass)); searchRequest.source(searchSourceBuilder); Optional.ofNullable(searchAfter).ifPresent(searchSourceBuilder::searchAfter); printDSL(searchRequest); diff --git a/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsIndexWrapper.java b/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsIndexWrapper.java index 3395db55..25102996 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsIndexWrapper.java +++ b/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsIndexWrapper.java @@ -1,6 +1,7 @@ package cn.easyes.core.conditions; -import cn.easyes.common.enums.FieldType; + +import cn.easyes.annotation.rely.FieldType; import cn.easyes.common.params.SFunction; import cn.easyes.common.utils.ArrayUtils; import cn.easyes.common.utils.StringUtils; @@ -9,10 +10,7 @@ import cn.easyes.core.conditions.interfaces.Index; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.common.settings.Settings; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; /** * 索引Lambda表达式 @@ -33,6 +31,10 @@ public class LambdaEsIndexWrapper extends Wrapper implements Index extends Wrapper implements Index maxResultWindow(Integer maxResultWindow) { + Optional.ofNullable(maxResultWindow).ifPresent(max -> this.maxResultWindow = maxResultWindow); + return typedThis; + } @Override public LambdaEsIndexWrapper settings(Integer shards, Integer replicas) { diff --git a/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsUpdateWrapper.java b/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsUpdateWrapper.java index 3970cf78..7ba6a582 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsUpdateWrapper.java +++ b/easy-es-core/src/main/java/cn/easyes/core/conditions/LambdaEsUpdateWrapper.java @@ -28,7 +28,7 @@ public class LambdaEsUpdateWrapper extends AbstractLambdaUpdateWrapper DEFAULT_SIZE) { - // 查询超过一万条, trackTotalHists自动开启 - searchSourceBuilder.trackTotalHits(true); - } else { - // 根据全局配置决定是否开启 - searchSourceBuilder.trackTotalHits(GlobalConfigCache.getGlobalConfig().getDbConfig().isEnableTrackTotalHits()); + // 根据全局配置决定是否开启 + if (GlobalConfigCache.getGlobalConfig().getDbConfig().isEnableTrackTotalHits()) { + searchSourceBuilder.trackTotalHits(Boolean.TRUE); } - + return searchSourceBuilder; } diff --git a/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/BaseEsMapper.java b/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/BaseEsMapper.java index 5c9dee2e..0dc41dca 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/BaseEsMapper.java +++ b/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/BaseEsMapper.java @@ -1,6 +1,6 @@ package cn.easyes.core.conditions.interfaces; -import cn.easyes.core.biz.PageInfo; +import cn.easyes.core.biz.EsPageInfo; import cn.easyes.core.biz.SAPageInfo; import cn.easyes.core.conditions.LambdaEsIndexWrapper; import cn.easyes.core.conditions.LambdaEsQueryWrapper; @@ -137,7 +137,7 @@ public interface BaseEsMapper { * @param pageSize 每页条数 * @return 指定的返回类型 */ - PageInfo pageQuery(LambdaEsQueryWrapper wrapper, Integer pageNum, Integer pageSize); + EsPageInfo pageQuery(LambdaEsQueryWrapper wrapper, Integer pageNum, Integer pageSize); /** * searchAfter类型分页 diff --git a/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Func.java b/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Func.java index 97f5fd41..3c8a3f9e 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Func.java +++ b/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Func.java @@ -536,7 +536,7 @@ public interface Func extends Serializable { } default Children avg(boolean enablePipeline, String column) { - return avg(true, enablePipeline, column, column); + return avg(true, enablePipeline, column); } default Children avg(String... columns) { @@ -570,8 +570,8 @@ public interface Func extends Serializable { return min(true, enablePipeline, column); } - default Children min(R... column) { - return min(true, true, column); + default Children min(R... columns) { + return min(true, true, columns); } default Children min(boolean enablePipeline, R... columns) { diff --git a/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Index.java b/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Index.java index 708022c3..dc778a37 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Index.java +++ b/easy-es-core/src/main/java/cn/easyes/core/conditions/interfaces/Index.java @@ -1,6 +1,6 @@ package cn.easyes.core.conditions.interfaces; -import cn.easyes.common.enums.FieldType; +import cn.easyes.annotation.rely.FieldType; import cn.easyes.core.toolkit.FieldUtils; import org.elasticsearch.common.settings.Settings; @@ -21,6 +21,14 @@ public interface Index extends Serializable { */ Children indexName(String... indexNames); + /** + * 设置最大返回数 + * + * @param maxResultWindow 最大返回数 + * @return 泛型 + */ + Children maxResultWindow(Integer maxResultWindow); + /** * 设置索引的分片数和副本数 * diff --git a/easy-es-core/src/main/java/cn/easyes/core/config/GlobalConfig.java b/easy-es-core/src/main/java/cn/easyes/core/config/GlobalConfig.java index 6e9b009b..ca04a41c 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/config/GlobalConfig.java +++ b/easy-es-core/src/main/java/cn/easyes/core/config/GlobalConfig.java @@ -1,7 +1,8 @@ package cn.easyes.core.config; -import cn.easyes.common.enums.FieldStrategy; -import cn.easyes.common.enums.IdType; + +import cn.easyes.annotation.rely.FieldStrategy; +import cn.easyes.annotation.rely.IdType; import cn.easyes.common.enums.ProcessIndexStrategyEnum; import cn.easyes.common.enums.RefreshPolicy; import lombok.Data; diff --git a/easy-es-core/src/main/java/cn/easyes/core/toolkit/EntityInfoHelper.java b/easy-es-core/src/main/java/cn/easyes/core/toolkit/EntityInfoHelper.java index e29e0f8a..a0d4e8ca 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/toolkit/EntityInfoHelper.java +++ b/easy-es-core/src/main/java/cn/easyes/core/toolkit/EntityInfoHelper.java @@ -1,9 +1,9 @@ package cn.easyes.core.toolkit; import cn.easyes.annotation.*; -import cn.easyes.common.enums.FieldType; -import cn.easyes.common.enums.IdType; -import cn.easyes.common.params.DefaultNestedClass; +import cn.easyes.annotation.rely.DefaultNestedClass; +import cn.easyes.annotation.rely.FieldType; +import cn.easyes.annotation.rely.IdType; import cn.easyes.common.utils.ClassUtils; import cn.easyes.common.utils.FastJsonUtils; import cn.easyes.common.utils.ReflectionKit; @@ -589,6 +589,7 @@ public class EntityInfoHelper { } else { indexName = tableName; } + entityInfo.setMaxResultWindow(table.maxResultWindow()); entityInfo.setAliasName(table.aliasName()); entityInfo.setShardsNum(table.shardsNum()); entityInfo.setReplicasNum(table.replicasNum()); diff --git a/easy-es-core/src/main/java/cn/easyes/core/toolkit/IndexUtils.java b/easy-es-core/src/main/java/cn/easyes/core/toolkit/IndexUtils.java index c2b38b6f..8e960c23 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/toolkit/IndexUtils.java +++ b/easy-es-core/src/main/java/cn/easyes/core/toolkit/IndexUtils.java @@ -1,11 +1,12 @@ package cn.easyes.core.toolkit; -import cn.easyes.common.constants.Analyzer; + +import cn.easyes.annotation.rely.Analyzer; +import cn.easyes.annotation.rely.DefaultChildClass; +import cn.easyes.annotation.rely.FieldType; import cn.easyes.common.constants.BaseEsConstants; -import cn.easyes.common.enums.FieldType; import cn.easyes.common.enums.JdkDataTypeEnum; import cn.easyes.common.enums.ProcessIndexStrategyEnum; -import cn.easyes.common.params.DefaultChildClass; import cn.easyes.common.utils.*; import cn.easyes.core.biz.*; import cn.easyes.core.cache.GlobalConfigCache; @@ -45,6 +46,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.BiFunction; +import static cn.easyes.annotation.rely.AnnotationConstants.DEFAULT_ALIAS; import static cn.easyes.common.constants.BaseEsConstants.*; @@ -106,6 +108,9 @@ public class IndexUtils { Settings.Builder settings = Settings.builder(); Optional.ofNullable(indexParam.getShardsNum()).ifPresent(shards -> settings.put(BaseEsConstants.SHARDS_FIELD, shards)); Optional.ofNullable(indexParam.getReplicasNum()).ifPresent(replicas -> settings.put(BaseEsConstants.REPLICAS_FIELD, replicas)); + + // 最大返回个数 + Optional.ofNullable(indexParam.getMaxResultWindow()).ifPresent(maxResultWindow -> settings.put(MAX_RESULT_WINDOW_FIELD, maxResultWindow)); createIndexRequest.settings(settings); } else { // 用户自定义settings @@ -190,18 +195,31 @@ public class IndexUtils { * @param indexName 索引名 */ public static void addDefaultAlias(RestHighLevelClient client, String indexName) { + addAliases(client, indexName, DEFAULT_ALIAS); + } + + /** + * 添加别名 + * + * @param client RestHighLevelClient + * @param indexName 索引名 + * @param aliases 别名数组,可以是单个 + * @return 是否添加成功 + */ + public static Boolean addAliases(RestHighLevelClient client, String indexName, String... aliases) { IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); IndicesAliasesRequest.AliasActions aliasActions = new IndicesAliasesRequest.AliasActions(IndicesAliasesRequest.AliasActions.Type.ADD); aliasActions.index(indexName); - aliasActions.alias(BaseEsConstants.DEFAULT_ALIAS); + aliasActions.aliases(aliases); indicesAliasesRequest.addAliasAction(aliasActions); try { client.indices().updateAliases(indicesAliasesRequest, RequestOptions.DEFAULT); } catch (IOException e) { LogUtils.warn("addDefaultAlias exception", e.toString()); + return Boolean.FALSE; } - + return Boolean.TRUE; } /** @@ -248,12 +266,12 @@ public class IndexUtils { .flatMap(aliases -> Optional.ofNullable(aliases.get(indexName))) .ifPresent(aliasMetadataList -> aliasMetadataList.forEach(aliasMetadata -> { - if (BaseEsConstants.DEFAULT_ALIAS.equals(aliasMetadata.alias())) { + if (DEFAULT_ALIAS.equals(aliasMetadata.alias())) { esIndexInfo.setHasDefaultAlias(Boolean.TRUE); } })); - // 设置分片及副本数 + // 设置分片、副本、最大返回数等 Optional.ofNullable(getIndexResponse.getSettings()) .flatMap(settingsMap -> Optional.ofNullable(settingsMap.get(indexName))) .ifPresent(p -> { @@ -263,6 +281,9 @@ public class IndexUtils { String replicasNumStr = p.get(BaseEsConstants.REPLICAS_NUM_KEY); Optional.ofNullable(replicasNumStr) .ifPresent(r -> esIndexInfo.setReplicasNum(Integer.parseInt(r))); + String maxResultWindowStr = p.get(MAX_RESULT_WINDOW_FIELD); + Optional.ofNullable(maxResultWindowStr) + .ifPresent(m -> esIndexInfo.setMaxResultWindow(Integer.parseInt(maxResultWindowStr))); }); // 设置mapping信息 @@ -341,7 +362,7 @@ public class IndexUtils { * @return 索引mapping */ public static Map initMapping(EntityInfo entityInfo, List indexParamList) { - Map mapping = new HashMap<>(1); + Map mapping = new HashMap<>(2); if (CollectionUtils.isEmpty(indexParamList)) { return mapping; } @@ -434,9 +455,9 @@ public class IndexUtils { */ public static boolean changeAliasAtomic(RestHighLevelClient client, String oldIndexName, String releaseIndexName) { IndicesAliasesRequest.AliasActions addIndexAction = new IndicesAliasesRequest.AliasActions( - IndicesAliasesRequest.AliasActions.Type.ADD).index(releaseIndexName).alias(BaseEsConstants.DEFAULT_ALIAS); + IndicesAliasesRequest.AliasActions.Type.ADD).index(releaseIndexName).alias(DEFAULT_ALIAS); IndicesAliasesRequest.AliasActions removeAction = new IndicesAliasesRequest.AliasActions( - IndicesAliasesRequest.AliasActions.Type.REMOVE).index(oldIndexName).alias(BaseEsConstants.DEFAULT_ALIAS); + IndicesAliasesRequest.AliasActions.Type.REMOVE).index(oldIndexName).alias(DEFAULT_ALIAS); IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest(); indicesAliasesRequest.addAliasAction(addIndexAction); @@ -485,6 +506,7 @@ public class IndexUtils { createIndexParam.setShardsNum(entityInfo.getShardsNum()); createIndexParam.setReplicasNum(entityInfo.getReplicasNum()); createIndexParam.setIndexName(entityInfo.getIndexName()); + createIndexParam.setMaxResultWindow(entityInfo.getMaxResultWindow()); // 如果有设置新索引名称,则用新索引名覆盖原索引名进行创建 Optional.ofNullable(entityInfo.getReleaseIndexName()).ifPresent(createIndexParam::setIndexName); @@ -565,6 +587,9 @@ public class IndexUtils { if (!entityInfo.getReplicasNum().equals(esIndexInfo.getReplicasNum())) { return Boolean.TRUE; } + if (!entityInfo.getMaxResultWindow().equals(esIndexInfo.getMaxResultWindow())) { + return Boolean.TRUE; + } // 根据当前实体类及自定义注解配置, 生成最新的Mapping信息 List esIndexParamList = IndexUtils.initIndexParam(entityInfo, entityInfo.getFieldList(), false); diff --git a/easy-es-core/src/main/java/cn/easyes/core/toolkit/PageHelper.java b/easy-es-core/src/main/java/cn/easyes/core/toolkit/PageHelper.java index 64c37de6..1b22a426 100644 --- a/easy-es-core/src/main/java/cn/easyes/core/toolkit/PageHelper.java +++ b/easy-es-core/src/main/java/cn/easyes/core/toolkit/PageHelper.java @@ -1,6 +1,6 @@ package cn.easyes.core.toolkit; -import cn.easyes.core.biz.PageInfo; +import cn.easyes.core.biz.EsPageInfo; import cn.easyes.core.biz.SAPageInfo; import lombok.AccessLevel; import lombok.NoArgsConstructor; @@ -24,12 +24,18 @@ public class PageHelper { * @param 数据类型 * @return 分页信息 */ - public static PageInfo getPageInfo(List list, Long total, Integer pageNum, Integer pageSize) { - PageInfo pageInfo = new PageInfo<>(list); + public static EsPageInfo getPageInfo(List list, Long total, Integer pageNum, Integer pageSize) { + EsPageInfo pageInfo = new EsPageInfo<>(list); pageInfo.setTotal(total); pageInfo.setPageNum(pageNum); pageInfo.setPageSize(pageSize); pageInfo.setPages((int) (total % pageSize > 0 ? total / pageSize + 1 : total / pageSize)); + // 计算导航页 + pageInfo.calcNavigatePageNums(); + // 计算前后页,第一页,最后一页 + pageInfo.calcPage(); + // 判断页面边界 + pageInfo.judgePageBoundary(); return pageInfo; } diff --git a/easy-es-extension/pom.xml b/easy-es-extension/pom.xml index 350c34f0..7f9bc480 100644 --- a/easy-es-extension/pom.xml +++ b/easy-es-extension/pom.xml @@ -7,7 +7,7 @@ cn.easy-es easy-es-parent - 1.0.3 + 1.1.1 ../easy-es-parent @@ -23,6 +23,10 @@ cn.easy-es easy-es-annotation + + cn.easy-es + easy-es-common + \ No newline at end of file diff --git a/easy-es-parent/pom.xml b/easy-es-parent/pom.xml index 14c78207..1c80332c 100644 --- a/easy-es-parent/pom.xml +++ b/easy-es-parent/pom.xml @@ -6,7 +6,7 @@ cn.easy-es easy-es-parent - 1.0.3 + 1.1.1 easy-es-parent easy use for elastic search diff --git a/easy-es-sample/pom.xml b/easy-es-sample/pom.xml index bae0972a..891d1270 100644 --- a/easy-es-sample/pom.xml +++ b/easy-es-sample/pom.xml @@ -9,7 +9,7 @@ easy-es cn.easy-es - 1.0.3 + 1.1.1 @@ -21,6 +21,7 @@ cn.easy-es easy-es-boot-starter + 1.1.1 org.springframework.boot diff --git a/easy-es-sample/src/main/java/cn/easyes/sample/controller/SampleController.java b/easy-es-sample/src/main/java/cn/easyes/sample/controller/SampleController.java index 95405093..c30acb39 100644 --- a/easy-es-sample/src/main/java/cn/easyes/sample/controller/SampleController.java +++ b/easy-es-sample/src/main/java/cn/easyes/sample/controller/SampleController.java @@ -12,7 +12,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; -/** +/**l * 演示springboot项目实际使用 *

* Copyright © 2021 xpc1024 All Rights Reserved diff --git a/easy-es-sample/src/main/java/cn/easyes/sample/entity/Document.java b/easy-es-sample/src/main/java/cn/easyes/sample/entity/Document.java index a0c0e314..30f20d56 100644 --- a/easy-es-sample/src/main/java/cn/easyes/sample/entity/Document.java +++ b/easy-es-sample/src/main/java/cn/easyes/sample/entity/Document.java @@ -4,10 +4,10 @@ import cn.easyes.annotation.HighLight; import cn.easyes.annotation.IndexField; import cn.easyes.annotation.IndexId; import cn.easyes.annotation.IndexName; -import cn.easyes.common.constants.Analyzer; -import cn.easyes.common.enums.FieldStrategy; -import cn.easyes.common.enums.FieldType; -import cn.easyes.common.enums.IdType; +import cn.easyes.annotation.rely.Analyzer; +import cn.easyes.annotation.rely.FieldStrategy; +import cn.easyes.annotation.rely.FieldType; +import cn.easyes.annotation.rely.IdType; import lombok.Data; import lombok.experimental.Accessors; @@ -18,7 +18,7 @@ import lombok.experimental.Accessors; **/ @Data @Accessors(chain = true) -@IndexName(value = "easyes_document", shardsNum = 3, replicasNum = 2, keepGlobalPrefix = true) +@IndexName(value = "easyes_document", shardsNum = 3, replicasNum = 2, keepGlobalPrefix = true,maxResultWindow = 100) public class Document { /** * es中的唯一id,如果你想自定义es中的id为你提供的id,比如MySQL中的id,请将注解中的type指定为customize或直接在全局配置文件中指定,如此id便支持任意数据类型) diff --git a/easy-es-test/pom.xml b/easy-es-test/pom.xml index 420afaf1..cd58fc44 100644 --- a/easy-es-test/pom.xml +++ b/easy-es-test/pom.xml @@ -7,7 +7,7 @@ easy-es cn.easy-es - 1.0.3 + 1.1.1 easy-es-test diff --git a/easy-es-test/src/main/java/cn/easyes/test/entity/Comment.java b/easy-es-test/src/main/java/cn/easyes/test/entity/Comment.java index 3a2854dd..c82e03bc 100644 --- a/easy-es-test/src/main/java/cn/easyes/test/entity/Comment.java +++ b/easy-es-test/src/main/java/cn/easyes/test/entity/Comment.java @@ -1,12 +1,14 @@ package cn.easyes.test.entity; + import cn.easyes.annotation.IndexField; import cn.easyes.annotation.IndexName; -import cn.easyes.common.constants.Analyzer; -import cn.easyes.common.enums.FieldType; -import cn.easyes.common.params.JoinField; +import cn.easyes.annotation.rely.Analyzer; +import cn.easyes.annotation.rely.FieldType; +import cn.easyes.annotation.rely.JoinField; import lombok.Data; + /** * es 评论 数据模型 Document的子文档,Document是其父文档 *

diff --git a/easy-es-test/src/main/java/cn/easyes/test/entity/Document.java b/easy-es-test/src/main/java/cn/easyes/test/entity/Document.java index ed31d91e..5d75029d 100644 --- a/easy-es-test/src/main/java/cn/easyes/test/entity/Document.java +++ b/easy-es-test/src/main/java/cn/easyes/test/entity/Document.java @@ -1,12 +1,7 @@ package cn.easyes.test.entity; import cn.easyes.annotation.*; -import cn.easyes.common.constants.Analyzer; -import cn.easyes.common.enums.FieldStrategy; -import cn.easyes.common.enums.FieldType; -import cn.easyes.common.enums.HighLightTypeEnum; -import cn.easyes.common.enums.IdType; -import cn.easyes.common.params.JoinField; +import cn.easyes.annotation.rely.*; import lombok.Data; import lombok.experimental.Accessors; diff --git a/easy-es-test/src/main/java/cn/easyes/test/entity/Faq.java b/easy-es-test/src/main/java/cn/easyes/test/entity/Faq.java index 33b35475..5d49a447 100644 --- a/easy-es-test/src/main/java/cn/easyes/test/entity/Faq.java +++ b/easy-es-test/src/main/java/cn/easyes/test/entity/Faq.java @@ -1,7 +1,7 @@ package cn.easyes.test.entity; import cn.easyes.annotation.IndexField; -import cn.easyes.common.enums.FieldType; +import cn.easyes.annotation.rely.FieldType; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -26,7 +26,7 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class Faq { - @IndexField(value = "faq_name",fieldType = FieldType.TEXT) + @IndexField(value = "faq_name", fieldType = FieldType.TEXT) private String faqName; private String faqAnswer; } diff --git a/easy-es-test/src/main/java/cn/easyes/test/entity/User.java b/easy-es-test/src/main/java/cn/easyes/test/entity/User.java index f7b7a843..c17fee40 100644 --- a/easy-es-test/src/main/java/cn/easyes/test/entity/User.java +++ b/easy-es-test/src/main/java/cn/easyes/test/entity/User.java @@ -1,9 +1,9 @@ package cn.easyes.test.entity; import cn.easyes.annotation.IndexField; -import cn.easyes.annotation.IndexName; -import cn.easyes.common.constants.Analyzer; -import cn.easyes.common.enums.FieldType; + +import cn.easyes.annotation.rely.Analyzer; +import cn.easyes.annotation.rely.FieldType; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/easy-es-test/src/test/java/cn/easyes/test/agg/AggTest.java b/easy-es-test/src/test/java/cn/easyes/test/agg/AggTest.java index 94f2d817..be4b22a2 100644 --- a/easy-es-test/src/test/java/cn/easyes/test/agg/AggTest.java +++ b/easy-es-test/src/test/java/cn/easyes/test/agg/AggTest.java @@ -1,6 +1,6 @@ package cn.easyes.test.agg; -import cn.easyes.core.biz.PageInfo; +import cn.easyes.core.biz.EsPageInfo; import cn.easyes.core.conditions.LambdaEsQueryWrapper; import cn.easyes.test.TestEasyEsApplication; import cn.easyes.test.entity.Document; @@ -29,7 +29,7 @@ public class AggTest { LambdaEsQueryWrapper wrapper = new LambdaEsQueryWrapper<>(); wrapper.eq(Document::getTitle, "老汉") .distinct(Document::getSubTitle); - PageInfo pageInfo = documentMapper.pageQuery(wrapper, 1, 10); + EsPageInfo pageInfo = documentMapper.pageQuery(wrapper, 1, 10); System.out.println(pageInfo); } diff --git a/easy-es-test/src/test/java/cn/easyes/test/all/AllTest.java b/easy-es-test/src/test/java/cn/easyes/test/all/AllTest.java index 74b7c97b..64b6843e 100644 --- a/easy-es-test/src/test/java/cn/easyes/test/all/AllTest.java +++ b/easy-es-test/src/test/java/cn/easyes/test/all/AllTest.java @@ -1,8 +1,8 @@ package cn.easyes.test.all; import cn.easyes.common.constants.BaseEsConstants; +import cn.easyes.core.biz.EsPageInfo; import cn.easyes.core.biz.OrderByParam; -import cn.easyes.core.biz.PageInfo; import cn.easyes.core.biz.SAPageInfo; import cn.easyes.core.cache.GlobalConfigCache; import cn.easyes.core.conditions.LambdaEsQueryWrapper; @@ -526,7 +526,7 @@ public class AllTest { public void testPageQuery() { LambdaEsQueryWrapper wrapper = new LambdaEsQueryWrapper<>(); wrapper.match(Document::getCreator, "老汉"); - PageInfo pageInfo = documentMapper.pageQuery(wrapper, 1, 5); + EsPageInfo pageInfo = documentMapper.pageQuery(wrapper, 1, 5); Assertions.assertEquals(5, pageInfo.getSize()); Assertions.assertEquals(22, pageInfo.getTotal()); } diff --git a/easy-es-test/src/test/java/cn/easyes/test/high/HighTest.java b/easy-es-test/src/test/java/cn/easyes/test/high/HighTest.java index 89971567..133830b6 100644 --- a/easy-es-test/src/test/java/cn/easyes/test/high/HighTest.java +++ b/easy-es-test/src/test/java/cn/easyes/test/high/HighTest.java @@ -1,7 +1,7 @@ package cn.easyes.test.high; +import cn.easyes.core.biz.EsPageInfo; import cn.easyes.core.biz.OrderByParam; -import cn.easyes.core.biz.PageInfo; import cn.easyes.core.biz.SAPageInfo; import cn.easyes.core.conditions.LambdaEsQueryWrapper; import cn.easyes.core.toolkit.EsWrappers; @@ -122,7 +122,7 @@ public class HighTest { // 浅分页,适合数据量少于1w的情况 LambdaEsQueryWrapper wrapper = new LambdaEsQueryWrapper<>(); wrapper.match(Document::getTitle, "老汉"); - PageInfo documentPageInfo = documentMapper.pageQuery(wrapper, 1, 10); + EsPageInfo documentPageInfo = documentMapper.pageQuery(wrapper, 2, 10); System.out.println(documentPageInfo); } diff --git a/easy-es-test/src/test/java/cn/easyes/test/index/IndexTest.java b/easy-es-test/src/test/java/cn/easyes/test/index/IndexTest.java index f6730f85..1642a76b 100644 --- a/easy-es-test/src/test/java/cn/easyes/test/index/IndexTest.java +++ b/easy-es-test/src/test/java/cn/easyes/test/index/IndexTest.java @@ -1,12 +1,15 @@ package cn.easyes.test.index; -import cn.easyes.common.constants.Analyzer; -import cn.easyes.common.enums.FieldType; + +import cn.easyes.annotation.rely.Analyzer; +import cn.easyes.annotation.rely.FieldType; import cn.easyes.core.conditions.LambdaEsIndexWrapper; import cn.easyes.test.TestEasyEsApplication; import cn.easyes.test.entity.Document; import cn.easyes.test.mapper.DocumentMapper; +import org.elasticsearch.client.indices.CreateIndexRequest; import org.elasticsearch.client.indices.GetIndexResponse; +import org.elasticsearch.common.settings.Settings; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; diff --git a/easy-es-test/src/test/java/cn/easyes/test/join/JoinTest.java b/easy-es-test/src/test/java/cn/easyes/test/join/JoinTest.java index 3c42d2ac..c3ae2611 100644 --- a/easy-es-test/src/test/java/cn/easyes/test/join/JoinTest.java +++ b/easy-es-test/src/test/java/cn/easyes/test/join/JoinTest.java @@ -1,6 +1,6 @@ package cn.easyes.test.join; -import cn.easyes.common.params.JoinField; +import cn.easyes.annotation.rely.JoinField; import cn.easyes.core.conditions.LambdaEsQueryWrapper; import cn.easyes.core.conditions.LambdaEsUpdateWrapper; import cn.easyes.core.toolkit.FieldUtils; diff --git a/easy-es-test/src/test/java/cn/easyes/test/other/FieldDataTest.java b/easy-es-test/src/test/java/cn/easyes/test/other/FieldDataTest.java index 121382fe..301b4e32 100644 --- a/easy-es-test/src/test/java/cn/easyes/test/other/FieldDataTest.java +++ b/easy-es-test/src/test/java/cn/easyes/test/other/FieldDataTest.java @@ -1,7 +1,7 @@ package cn.easyes.test.other; +import cn.easyes.annotation.rely.FieldType; import cn.easyes.common.constants.BaseEsConstants; -import cn.easyes.common.enums.FieldType; import cn.easyes.core.conditions.LambdaEsIndexWrapper; import cn.easyes.core.conditions.LambdaEsQueryWrapper; import cn.easyes.core.toolkit.EntityInfoHelper; diff --git a/pom.xml b/pom.xml index aa92aac5..6540b1d8 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.easy-es easy-es - 1.0.3 + 1.1.1 easy-es easy use for elastic search @@ -19,7 +19,8 @@ 5.4.0 - 2.6.10 + + 2.7.0 3.9