我在Java应用程序中使用REST高级客户端ElasticSearch。文档可以在here中找到。在我的应用程序启动时,我删除了存储Elasticearch数据的名为“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);
但是,在这个过程中,当我发帖时,我才能创建类型“文档”。如果我没有张贴和尝试点击控制器,它称为数据frmo索引“POST”,并键入“DOC”。它会给出错误,因为不存在“文档”类型。
任何人都知道如何在Java中使用REST高级客户端ES创建类型
3条答案
按热度按时间nc1teljy1#
您说的类型是指单据类型吗?
那么您提供的链接中的第二部分Index Mappings呢?这对你不起作用吗?
mrphzbgm2#
我需要将类型设置为“_doc”以使其与ES7.6一起工作
myss37ts3#
如果您知道如何通过API插入文档,那么这种方式将使您更容易执行任何类似的API操作(删除、发布、放置...)首先,您将需要RestHighLevelClient以及您需要做的所有工作
这将像API一样执行。