Spring-boot 融合Elasticsearch

上篇完成了elasticsearch的部署安装,这一篇进行spring-boot的融合

版本确定

  • spring-boot 版本
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
  • 服务器部署elasticsearch版本
"number": "7.3.1"
  • 引入spring-boot-starter-data-elasticsearch
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>

加载完成后的服务版本:

<elasticsearch>7.12.1</elasticsearch>

融合信息

  • 根据下图


    esVersion.png
  • 配置信息
    因为用的是的nacos做配置中心,所以配置如下:
    (1)如果是用ElasticsearchRestTemplate 做基本操作,因为7.12.1后都是用这个做基本操作

# es
spring:
  elasticsearch:
    rest:
      uris:
        # 多个链接直接 - 下一个
        - http://101.122.242.42:9200

(2)如果用ElasticsearchTemplate做基本操作(但是已经被@Deprecated 不建议使用)

#es
spring:
  data:
    elasticsearch:
      cluster-nodes: 101.122.242.42:9300
      cluster-name: es-aliyun-tz
      repositories:
        enable: true

测试数据

  • 编写Model实体类
@Data
@Accessors(chain = true)
@Document(indexName = "tz_es_model")
public class TZESModel{

    private String id;

    private String title;

    private String content;

    private String createTime;
}
  • 编写服务
@Service
@ApiService
@Slf4j
public class ElasticSerachApiService {

    @Autowired
    private ElasticsearchRestTemplate elasticsearchRestTemplate;


    @ApiMethod(apiCode = "TZ_ELASTIC_SERACH")
    public AjaxResult serach(TZApiQuaryParam apiQuaryParam) {
        TZESModel esModel = new TZESModel().setId(IdUtils.fastUUID()).setContent("this is first es").setCreateTime(DateUtils.dateTime()).setTitle("search");
        elasticsearchRestTemplate.save(esModel);
        return AjaxResult.success();

    }
}
  • POSTMAN 测试

    TZ_ELASTIC_SEARCH.png

  • web 界面查找

    _search.png

以上就是基本的保存和配置只用elasticsearch 操作!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容