我想插入带有自动生成 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() 函数
关于java - 带java API的Elastic search 6.2,如何自动生成ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50062156/