通过注解实现高亮检索
Spring-Data-ElasticSearch提供了注解方式来实现高亮检索,主要用到以下几个注解:
- 开启高亮检索:
@Highlight
- 高亮字段:
@HighlightField
- 高亮字段设置(样式):
@HighlightParameters
创建测试接口
创建自定义仓库,继承 ElasticsearchRepository
public interface ItemRepository extends ElasticsearchRepository<Item, Long> {
/**
* 关键字检索(title)
*
* @param title 标题
* @return
*/
@Highlight(
fields = {
@HighlightField(name = "title")
},
parameters = @HighlightParameters(
preTags = "<strong><font style='color:red'>",
postTags = "</font></strong>",
fragmentSize = 500,
numberOfFragments = 3
)
)
List<SearchHit<Item>> findByTitle(String title);
}
注解说明:通过
@Highlight()
开启高亮检索,fields
设置需要检索的字段;parameters
设置高亮的样式,默认为<em></em>