[英]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.