前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
1. 錯誤的代碼寫法:
@Autowiredprivate ElasticsearchOperations esOperations; public void updateAxxxData(List<AxxxModel> axxxs) {for (AxxxModel al : axxxs) {UpdateQuery update = new UpdateQuery();update.setIndexName("coll_axxxm_sxxxxxxx_es");update.setType("coll_axxxm_sxxxxxxx_es");UpdateRequest request = new UpdateRequest(); request.doc(al);update.setUpdateRequest(request);esOperations.update(update);}}
2. 運行后報錯:
? java.lang.IllegalArgumentException: The number of object passed must be even but was [1]
3. 報錯行為:? request.doc(al);
4. 把對象改為用Map,循環中代碼調整為:
UpdateQuery update = new UpdateQuery();update.setIndexName("coll_axxxm_sxxxxxxx_es");update.setType("coll_axxxm_sxxxxxxx_es");UpdateRequest request = new UpdateRequest();Map<String, Object> alMap = Maps.newHashMap();alMap.put("xxx_time", al.getXxx_time());alMap.put("xxx_id", al.getXxx_id());alMap.put("fxxx_id", al.getFxxx_id());request.doc(alMap);update.setUpdateRequest(request);esOperations.update(update);
5. 以上報錯即消失。
?