private List<NewsBean> getJsonData(String url) { List<NewsBean> newsBeanList = new ArrayList<>(); JSONObject jsonObject = null; NewsBean newsBean; try { String jsonString = readStream(new URL(url).openStream()); jsonObject = new JSONObject(jsonString); JSONArray jsonArray = jsonObject.getJSONArray("data"); for (int i = 0; i < jsonArray.length(); i++) { jsonObject = jsonArray.getJSONObject(i); newsBean = new NewsBean(); newsBean.newsIconUrl = jsonObject.getString("picSmall"); newsBean.newsTitle = jsonObject.getString("name"); newsBean.newsContent = jsonObject.getString("description"); newsBeanList.add(newsBean); } } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } return newsBeanList; }
private List<NewsBean> getList() { List<NewsBean> result = new ArrayList<NewsBean>(); for (int i = 0; i < 10; i++) { NewsBean tempNB = new NewsBean(); tempNB.setTitle("title" + i); tempNB.setContent("content" + i); tempNB.setImage( "http://g4.ykimg.com/01270F1F464BD0E447AE2100000000B07DBC93-FD8E-0AE4-3CDF-8383410521BC"); result.add(tempNB); } return result; }
private static void AddBeans() { // TODO Auto-generated method stub String[] words = { "中央全面深化改革领导小组", "第四次会议", "审议了国企薪酬制度改革", "考试招生制度改革", "传统媒体与新媒体融合等", "相关内容文件", "习近平强调要", "逐步规范国有企业收入分配秩序", "实现薪酬水平适当", "结构合理、管理规范、监督有效", "对不合理的偏高", "过高收入进行调整", "深化考试招生制度改革", "总的目标是形成分类考试", "综合评价", "多元录取的考试招生模式", "健全促进公平", "科学选才", "监督有力的体制机制", "着力打造一批形态多样", "手段先进", "具有竞争力的新型主流媒体", "建成几家拥有强大实力和传播力", "公信力", "影响力的新型媒体集团" }; long start = System.currentTimeMillis(); Collection<NewsBean> docs = new ArrayList<NewsBean>(); // DocumentObjectBinder binder = new DocumentObjectBinder(); for (int i = 1; i < 10; i++) { NewsBean news = new NewsBean(); news.setId("id" + i); news.setName("news" + i); news.setAuthor(genAuthors()); news.setDescription(words[i % 21]); news.setRelatedLinks(genLinks()); // SolrInputDocument doc1 = binder.toSolrInputDocument(news); docs.add(news); } try { HttpSolrServer server = new HttpSolrServer(SOLR_URL); server.setRequestWriter(new BinaryRequestWriter()); // 可以通过二种方式增加docs,其中server.add(docs.iterator())效率最高 // 增加后通过执行commit函数commit (981ms) // server.addBeans(docs); // server.commit(); // the most optimal way of updating all your docs // in one http request(481ms) server.addBeans(docs.iterator()); server.optimize(); // time elasped 1176ms } catch (Exception e) { System.out.println(e); } System.out.println("time elapsed(ms):" + (System.currentTimeMillis() - start)); }