!118 feat(highlight): 添加高亮参数 noMatchSize 功能

Merge pull request !118 from 闫海哲/feature_add_nomatchsize
This commit is contained in:
阿杰 2025-07-07 03:11:21 +00:00 committed by Gitee
commit 4bdfe03fbd
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 18 additions and 0 deletions

View File

@ -33,6 +33,14 @@ public @interface HighLight {
*/
int fragmentSize() default DEFAULT_FRAGMENT_SIZE;
/**
* 如果没有匹配的高亮片段从字段开头返回的文本长度.默认与100
* 0表示不返回任何内容
*
* @return 固定大小的文本
*/
int noMatchSize() default DEFAULT_MATCH_SIZE;
/**
* 搜索返回的高亮片段数量,默认全部返回
*

View File

@ -18,6 +18,10 @@ public interface AnnotationConstants {
* 高亮截取默认长度
*/
int DEFAULT_FRAGMENT_SIZE = 100;
/**
* 如果没有匹配的高亮片段从字段开头返回的文本长度.默认与100
*/
int DEFAULT_MATCH_SIZE = 100;
/**
* 默认分片数
*/

View File

@ -16,6 +16,10 @@ public class HighLightParam {
* 高亮字段截取长度,默认为100
*/
private Integer fragmentSize;
/**
* 如果没有匹配的高亮片段从字段开头返回的文本长度.默认与100
*/
private Integer noMatchSize;
/**
* 搜索返回的高亮片段数量 默认全部返回
*/

View File

@ -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);
}
});

View File

@ -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)