通过其余高级客户端在弹性搜索中创建类型内部索引

时间:2019-02-13 12:39:29

标签: java elasticsearch elasticsearch-java-api

我在我的JAVA应用程序中使用了高级客户端弹性搜索。可以找到文档here。 在启动时的应用程序中,我将删除存储弹性搜索数据的名为“ posts”的索引,并根据此link

再次创建索引“ posts”
CreateIndexRequest request = new CreateIndexRequest("posts");

但是,在内部索引中,我需要创建一个名为“ doc”的类型。网站上未提及。 临时解决方法是,当我在此link之后发布一些数据时,它正在创建类型

Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("user", "kimchy");
jsonMap.put("postDate", new Date());
jsonMap.put("message", "trying out Elasticsearch");
IndexRequest indexRequest = new IndexRequest("posts", "doc", "1")
    .source(jsonMap); 

但是,在此过程中,当我仅发布时,便可以创建“ doc”类型。如果我没有发布并尝试点击调用数据frmo索引的控制器“ posts”,然后键入“ doc”。由于不存在“ doc”类型,因此出现错误。

任何人都不知道如何使用Java中的其余高级客户端ES创建类型

2 个答案:

答案 0 :(得分:1)

我需要将类型设置为“ _doc”才能使其与ES7.6一起使用

答案 1 :(得分:0)

按类型指的是文档类型?

您提供的链接的第二部分Index Mappings呢? 这对您不起作用吗?