zoukankan      html  css  js  c++  java
  • Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected

    由于我用的是springboot2.3.0版本,es用的是7.4.2,但是boot中研究定义了es的版本是7.6.2,

     https://stackoverflow.com/questions/61029889/error-at-createindex-elasticsearch-using-elasticsearchoperations-why-is-the-by

     在这里修改版本没有生效,导致项目引入了2个版本,下面是我用的api,(暂时还不知道为什么)

            <dependency>
                <groupId>org.elasticsearch.client</groupId>
                <artifactId>elasticsearch-rest-high-level-client</artifactId>
                <version>7.4.2</version>
            </dependency>  

    注:后面重启发现就可以了。。。。

    然后就会发生以下错误

    java.lang.IncompatibleClassChangeError: Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected
    at org.elasticsearch.client.RequestConverters.createEntity(RequestConverters.java:689)
    at org.elasticsearch.client.RequestConverters.createEntity(RequestConverters.java:684)
    at org.elasticsearch.client.IndicesRequestConverters.createIndex(IndicesRequestConverters.java:128)
    at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1760)
    at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1734)
    at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1696)
    at org.elasticsearch.client.IndicesClient.create(IndicesClient.java:191)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.createIndex(ElasticsearchRestTemplate.java:1248)
    at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.createIndex(ElasticsearchRestTemplate.java:1256)

    查找原因,应该是2个版本原因导致的,于是就统一一下,我改不了7.4.2,那我就选择加入7.6.2,哈哈哈。

     存在一个版本,然后再进行测试。

      @Autowired(required = false)
      private RestHighLevelClient client;
    
      @Test
      void indexData() throws IOException {
        IndexRequest request = new IndexRequest("users");
        request.id("1");
        User u = new User();
        u.setAge(11);
        u.setGender("男");
        u.setUserName("wgr");
        String s = JSON.toJSONString(u);
        request.source(s, XContentType.JSON);
        IndexResponse indexResponse = client.index(request, GulimallElasticSearchConfig.COMMON_OPTIONS);
        System.out.println(indexResponse);
      }

  • 相关阅读:
    恢复安装数据库的SCOTT用户的数据:
    SQL Server DATEDIFF() 函数
    MS SQL 日期格式转换
    cxGrid增加一栏显示checkBox的设置方法
    介绍JSP程序动态网站环境搭建的详细步骤
    SQL Server CONVERT() 函数
    最新JSP环境配置方法
    JSP语法(Jsp技术大全)1
    SQL字符串处理函数大全
    JSP数据库连接
  • 原文地址:https://www.cnblogs.com/dalianpai/p/13144584.html
Copyright © 2011-2022 走看看