簡體   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