diff --git a/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/HighLight.java b/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/HighLight.java index 95305457de225c71f34b6c9c9d605ee9d76b0e98..1047141923d74528b6a34ed2d9b3603c4fe74112 100644 --- a/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/HighLight.java +++ b/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/HighLight.java @@ -33,6 +33,14 @@ public @interface HighLight { */ int fragmentSize() default DEFAULT_FRAGMENT_SIZE; + /** + * 如果没有匹配的高亮片段,从字段开头返回的文本长度.默认与100 + * 0,表示不返回任何内容 + * + * @return 固定大小的文本 + */ + int noMatchSize() default DEFAULT_MATCH_SIZE; + /** * 搜索返回的高亮片段数量,默认全部返回 * diff --git a/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/rely/AnnotationConstants.java b/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/rely/AnnotationConstants.java index 91e1d4aaa1ca2e14e134d05deedb44d433580f9b..4d3325602d4badb521f19f75b2f2123139c35ab5 100644 --- a/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/rely/AnnotationConstants.java +++ b/easy-es-annotation/src/main/java/org/dromara/easyes/annotation/rely/AnnotationConstants.java @@ -18,6 +18,10 @@ public interface AnnotationConstants { * 高亮截取默认长度 */ int DEFAULT_FRAGMENT_SIZE = 100; + /** + * 如果没有匹配的高亮片段,从字段开头返回的文本长度.默认与100 + */ + int DEFAULT_MATCH_SIZE = 100; /** * 默认分片数 */ diff --git a/easy-es-core/src/main/java/org/dromara/easyes/core/biz/HighLightParam.java b/easy-es-core/src/main/java/org/dromara/easyes/core/biz/HighLightParam.java index c3ff249121b68c4d17ad01c9e6dcee57b009707a..66e0cf459bf195014c20560e1a689af1152e36af 100644 --- a/easy-es-core/src/main/java/org/dromara/easyes/core/biz/HighLightParam.java +++ b/easy-es-core/src/main/java/org/dromara/easyes/core/biz/HighLightParam.java @@ -16,6 +16,10 @@ public class HighLightParam { * 高亮字段截取长度,默认为100 */ private Integer fragmentSize; + /** + * 如果没有匹配的高亮片段,从字段开头返回的文本长度.默认与100 + */ + private Integer noMatchSize; /** * 搜索返回的高亮片段数量 默认全部返回 */ diff --git a/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/WrapperProcessor.java b/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/WrapperProcessor.java index 5f7a306d7045603f51e89e5b4efffb0276c25e07..f24c0277538e0d4876d7ce3050b0f91bc2928828 100644 --- a/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/WrapperProcessor.java +++ b/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/WrapperProcessor.java @@ -597,6 +597,7 @@ public class WrapperProcessor { ); highlightBuilder.fields(highlightField, field); highlightBuilder.fragmentSize(highLightParam.getFragmentSize()); + highlightBuilder.noMatchSize(highLightParam.getNoMatchSize()); Optional.ofNullable(highLightParam.getNumberOfFragments()).ifPresent(highlightBuilder::numberOfFragments); } }); diff --git a/easy-es-core/src/main/java/org/dromara/easyes/core/toolkit/EntityInfoHelper.java b/easy-es-core/src/main/java/org/dromara/easyes/core/toolkit/EntityInfoHelper.java index ba7239107ec8b8f4e7f0705b15c5ed679377d1d9..549ed5690b5d480c434b9d74253765d3c285819b 100644 --- a/easy-es-core/src/main/java/org/dromara/easyes/core/toolkit/EntityInfoHelper.java +++ b/easy-es-core/src/main/java/org/dromara/easyes/core/toolkit/EntityInfoHelper.java @@ -409,6 +409,7 @@ public class EntityInfoHelper { // 置入高亮查询参数缓存 HighLightParam highlightParam = new HighLightParam(); highlightParam.setFragmentSize(highLight.fragmentSize()) + .setNoMatchSize(highLight.noMatchSize()) .setPreTag(highLight.preTag()) .setPostTag(highLight.postTag()) .setHighLightField(realHighLightField)