protected static SearchQuery getSearchQuery(GroupedInteraction g) { SearchQuery sq = null; if (InteractionUtil.isBrowser(g.getApplication())) { String title = g.getTitle(); int index = title.indexOf(" - Google Search"); if (index >= 0) { sq = new SearchQuery(); sq.setQuery(title.substring(0, index)); sq.setEngine("Google"); sq.setApplication(g.getApplication()); return sq; } else { index = title.indexOf("_°Ù¶ÈËÑË÷"); if (index >= 0) { sq = new SearchQuery(); sq.setQuery(title.substring(0, index)); sq.setEngine("Baidu"); sq.setApplication(g.getApplication()); return sq; } } } return sq; }
public static void main(String[] args) throws Exception { HashSet<SearchQuery> queries = new HashSet<SearchQuery>(); HashMap<String, Integer> keyMap = new HashMap<String, Integer>(); HashMap<KeyPair, Integer> keypairMap = new HashMap<KeyPair, Integer>(); DBImpl db = new DBImpl(); List<GroupedInteraction> list = db.getGroupInteractionsGreaterThan(null, "baolingfeng"); for (int i = 0; i < list.size(); i++) { GroupedInteraction g = list.get(i); SearchQuery sq = getSearchQuery(g); if (g.getDuration() > 1 && sq != null) { queries.add(sq); } } for (SearchQuery sq : queries) { List<String> keys = segQuery(sq.getQuery()); for (int i = 0; i < keys.size(); i++) { String k = keys.get(i); if (keyMap.containsKey(k)) { keyMap.put(k, keyMap.get(k) + 1); } else { keyMap.put(k, 1); } for (int j = i + 1; j < keys.size(); j++) { String k2 = keys.get(j); KeyPair pair = new KeyPair(k, k2); if (keypairMap.containsKey(pair)) { keypairMap.put(pair, keypairMap.get(pair) + 1); } else { keypairMap.put(pair, 1); } } } } PrintWriter writer = new PrintWriter("D:/temp/node.csv", "gb2312"); writer.println("Node;Label"); for (Entry<String, Integer> entry : keyMap.entrySet()) { writer.println(entry.getKey() + ";" + entry.getKey()); } writer.close(); writer = new PrintWriter("D:/temp/edge.csv", "gb2312"); writer.println("Source;Target;Type;Label;Weight"); // HashMap<KeyPair, Integer> map2 = CommonUtil.sortByValuesDesc(keypairMap); for (Entry<KeyPair, Integer> entry : keypairMap.entrySet()) { if (entry.getValue() > 1) { writer.println( entry.getKey().getK1() + ";" + entry.getKey().getK2() + ";" + "Undirected;;" + entry.getValue()); } } writer.close(); }