代码改变世界

搜索

2013-03-07 20:35  ggzwtj  阅读(195)  评论(0编辑  收藏  举报

搜索宝贝

  • SearchItem.excute
    • 根据搜索条件设置好SearchCondition
    • EngineAOImpl.getCategoryInfo——获取类目信息
    • EngineAOImpl.getFeedList
      • EngineSearchManagerImpl.getItemList
        • SearchClient.query——根据条件搜索(HA3引擎的实现了)
        • 根据引擎返回的doc得到List<item>
      • EngineAOImpl.convertFeed——得到前段展示时需要的数据

搜索用户

  • SearchUser.excute
    • 根据搜索条件设置好SearchCondition
    • EngineAOImpl.getUserList
      • EngineSearchManagerImpl.getUserList
      • EngineAOImpl.convertUser

广场

  • SearchWaterfallItems.execute
    • 根据搜索条件设置好SearchCondition
    • 如果缓存中有:
      • 判断当前用户是否喜欢过这些feed
      • 返回结果
    • 如果缓存中没有:
      • EngineSearchManagerImpl.getItemList
      • 将搜索结果插入缓存
      • 返回结果

推荐

  • RecommendUList.execute
    • RecommendUserAOImpl.recommendUsers
      • 从缓存中获取推荐的用户列表
        • 如果没有取到
          • 设置好搜索条件RecommendBean
          • EngineRecommendManager.getRecommend——根据搜索条件拼出来URL串,然后通过HTTP去请求结果;
          • 将引擎返回的插入到缓存中
      • 根据前端不同的操作来处理引擎返回的推荐列表,并把结果返回;

----- -- -

end