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:9200
    username: elastic
    password: 'XXXX'

定义Entity


@Data
@Document(indexName = "resource_index")
public class ResourceEntity {
    @Id
    private 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);
}

测试

    @Test
    public void findByTitleTest(){


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

    }

  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值