public void processNews(String user , SearchResult result)
{
WjbLogUtil.info("processNews");
String alreadyReadKey = KeyGenerator.alreadyReadKey(user);
WjbLogUtil.info(alreadyReadKey);
WjbSearchResult wjbResult = new WjbSearchResult(result);
wjbResult = redressResult.redress(wjbResult);
if(wjbResult.getTotal() == 0 )
{
WjbLogUtil.info("SearchResult为空,不做处理");
return ;
}
WjbLogUtil.info(wjbResult);
double maxScore = wjbResult.getMaxScore();
WjbHit[] hits = wjbResult.getHits();
String mainKey = KeyGenerator.mainKey(user);
String nowTime = WjbDateUtil.sdf_yyyyMMddHH_format(new Date());
WjbLogUtil.info(mainKey);
WjbLogUtil.info(hits.length);
for(WjbHit element : hits)
{
JsonObject source = element.getSource();
String newsid = source.get("id").getAsString();
WjbLogUtil.info(newsid);
boolean ismember = jedis.sismember(alreadyReadKey, newsid);
WjbLogUtil.info(ismember);
if(!ismember)
{
String member = source.toString();
double score = element.getScore();
score = score / maxScore ;
score = score * 1000;
Number score1 = score;
score = Double.valueOf(nowTime + score1.intValue());
WjbLogUtil.info(score);
// scoreMembers.put(member, score);
WjbLogUtil.info("mainKey "+mainKey+" score "+score+" member "+ WjbLangUtil.substring(member, 0, 100));
jedis.zadd(mainKey, score, member);
//放入到已读过的新闻列表中,本来打算让取数据的程序去做这步的操作,现在在这里做了
jedis.sadd(alreadyReadKey, newsid);
}
}
// jedis.zadd(mainKey, scoreMembers);
}