繁体   English   中英

使用Java API进行弹性搜索6.2,如何具有自动生成的ID?

[英]Elastic search 6.2 with java API, how to have auto generated ID?

我想插入具有自动生成的ID的数据。 我插入这样的“用户”:

java.util.Map<String, Object> jsonMap = new HashMap<String, Object>();
        jsonMap.put("username", user.username);
        jsonMap.put("password", user.password);
        jsonMap.put("mail", user.mail);
        jsonMap.put("friends", user.friends);
        jsonMap.put("maps", user.maps);
        IndexRequest indexRequest = new IndexRequest("users", "doc",user.username)
                .source(jsonMap)
                .opType(DocWriteRequest.OpType.CREATE);

在这里,user.username是我的ID。 而且,如果删除此参数,则执行时会出错,因为我的用户没有任何ID。 (我尝试这样做是因为我读到如果不输入任何ID,我应该有一个自动递增的ID)。 我在文档中没有找到任何对我有帮助的东西(或者也许我听不懂)。

我解决了我的问题。 我需要将opType设置为“ INDEX”而不是“ CREATE”。 然后我可以使用id()函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM