欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > springboot3 集成elasticsearch(es)客户端(高亮查询)

springboot3 集成elasticsearch(es)客户端(高亮查询)

2024/10/25 2:23:44 来源:https://blog.csdn.net/abments/article/details/141929752  浏览:    关键词:springboot3 集成elasticsearch(es)客户端(高亮查询)

集成依赖

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.5</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency></dependencies>

配置参数

spring:elasticsearch:uris: http://XXXX:9200username: elasticpassword: 'XXXX'

定义Entity


@Data
@Document(indexName = "resource_index")
public class ResourceEntity {@Idprivate String id;@Field(type = FieldType.Text, analyzer = "ik_max_word", searchAnalyzer = "ik_max_word")private String title;public ResourceEntity() {}public ResourceEntity(String id, String title) {this.id = id;this.title = title;}
}

定义Repository

public interface ResourceEntityRepository extends ElasticsearchRepository<ResourceEntity, String> {@Highlight(fields = {@HighlightField(name = "title")},parameters = @HighlightParameters(preTags = {"<span style='color:red'>"}, postTags = {"</span>"}, numberOfFragments = 0))List<SearchHit<ResourceEntity>> findByTitle(String title);
}

分页查询

@Highlight(fields = {@HighlightField(name = "title")},parameters = @HighlightParameters(preTags = {"<span style='color:red'>"}, postTags = {"</span>"}, numberOfFragments = 0))ist<SearchHit<ResourceEntity>> findByTitle(String title, Pageable pageable);
}

测试

    @Testpublic void findByTitleTest(){List<SearchHit<ResourceEntity>> testEntityList = repository.findByTitle("文档");testEntityList.forEach(testEntity -> {log.info("testEntity:{}",testEntity);});}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com