当前位置: 首页 > 知识库问答 >
问题:

与传输客户端的类型映射在spring应用程序中不起作用

利博远
2023-03-14

我在spring应用程序中有以下配置:

@Configuration
public class config {

    @Bean
    public TransportClient elasticsearchSecuredClient() throws Exception {
        // Based on https://github.com/elastic/found-shield-example/blob/master/src/main/java/org/elasticsearch/cloud/transport/example/TransportExample.java
        Settings settings = Settings.builder().build();

        XContentBuilder xContentBuilder = XContentFactory.jsonBuilder().
                startObject().
                startObject("mappings").
                    startObject("restaurant").
                        startObject("properties").
                            startObject("amount").field("type", "long").endObject().

                        endObject().
                        field("dynamic", "strict").
                    endObject().
                endObject().
                endObject();

        TransportClient localhost = new PreBuiltTransportClient(settings)
                .addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress("localhost", 9300)));
        localhost.admin().indices().prepareCreate("expenses").addMapping("restaurant",xContentBuilder).get();
        return localhost;
    }
}
@Data
@Document(indexName = "expenses",type = "restaurant")
public class ResturantExpenseEntity {

    //@Id
    //private String id;

    @Id
    private Long amount;


}

请帮忙:)谢谢

共有1个答案

齐成双
2023-03-14

尝试了所有的东西后,我发现问题是把所有东西都放在“映射”对象下。

它应该是没有它的,所以像这样:

XContentBuilder xContentBuilder = XContentFactory.jsonBuilder().
                    startObject().
                        startObject("restaurant").
                            startObject("properties").
                                startObject("amount").field("type", "long").endObject().
                                startObject("id").field("type", "long").endObject().
                                startObject("name").field("type", "keyword").endObject().
                            endObject().
                            field("dynamic", "strict").
                        endObject().
                    endObject();
 类似资料:
  • 我使用javap反编译了Map类。类定义仍然显示泛型类型K和V的存在。这应该被类型擦除的概念擦除。为什么没有发生这种情况? <代码>/javap-详细java。util。地图

  • 问题内容: 对于IE,我需要使用jsonp-polling,对于Firefox,则需要使用xhr-polling,因此我尝试在客户端定义传输类型,如下所示: 我在Firefox上进行了测试,并在socket.io-client lib上添加了日志记录。在 https://github.com/LearnBoost/socket.io- client/blob/master/dist/socket.

  • 这是我的HelloController.java文件 这是我的第一个.jsp文件 请谁能帮我找到这个错误。运行时出错... servlet mvc-dispatcher的messageservlet.init()引发异常 说明服务器遇到内部错误,导致它无法完成此请求。 异常 根本原因 注意根本原因的完整堆栈跟踪可在Apache Tomcat/7.0.65日志中获得。

  • 我已经使用SpringBoot和iMA开发了一个简单的web页面,使用类和方法级请求映射注释的组合,但在下面的场景中它不起作用。 我打的时候在工作http://localhost:9999/products我打http://localhost:9999/home/products的时候没有工作 控制器类:包com。实例演示;

  • 当我访问localhost:8080/home-我得到: 当我访问localhost:8080/或localhost:8080/index时,看起来一切正常。 为什么一条路行得通,而另一条行不通? 还有一件事让我困惑:localhost:8080/homepage。html-返回我的主视图。 所以我的项目在这里:https://github.com/IRus/jMusic 我的web.xml se

  • 我使用fasterxml jackson进行json序列化。我已将日期序列化程序编写为 但它没有被调用。然而,其他Jackson序列化程序运行良好。 现在日期正被正确序列化。但是现在有效的JSON等效字符串并没有像这里提到的那样转换为JSON。