Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83739
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-02 20:25
文章分类

全部博文(31)

文章存档

2015年(2)

2014年(29)

我的朋友

发布时间:2014-09-23 20:49:39

  结果排序对搜索的重要性可参考Google的发展。一个文档被搜索后的排序主要依靠两个部分:1. 文档的重要性:pageRank主要就是用于计算文档的重要性,在Lucene提供了各类boost让用户自行制定文档的重要性,所以Lucene中文档的重要性需要用户自己实现。2. 查询的相关度:这类主要使用余弦定理,涉及到tf(t,d)跟idf(t).........【阅读全文】

阅读(1700) | 评论(0) | 转发(0)

发布时间:2014-09-15 17:33:27

  Write相对Read复杂的多,主要有两条线。1. session.write 引发fireWrite事件,经过编码等过滤器的处理,最后将需要写的session写入到flushingSessions中,wakeup相应的Processor线程2. 实际写操作有Processor线程完成,写完后触发messageSent事件。 一. session.write  1. 生成一个WriteRequest.........【阅读全文】

阅读(1819) | 评论(0) | 转发(0)

发布时间:2014-09-15 13:19:18

   过滤器为Mina之精髓,处IO层与业务层之间,起承上启下之用。可用下图形象表之: 一. 事件  主要处理以下事件:点击(此处)折叠或打开    //连接建立     void sessionCreated(IoSession se.........【阅读全文】

阅读(1884) | 评论(0) | 转发(0)

发布时间:2014-09-14 16:50:55

  mina为每个session映射到一个NioProcessor,NioProcessor是一个IO处理机,会开启一个线程Processor,也持有一个专门的Selector,将其拥有的Session的OP_READ注册到该Selector上。因为read返回-1表示断开连接,所以这里也需要处理断开事件。代码跟踪如下:点击(此处)折叠或打开private.........【阅读全文】

阅读(1410) | 评论(0) | 转发(0)

发布时间:2014-09-14 14:18:37

  总的来说,在Acceptor线程的Selector收到OP_ACCEPT事件后,会创建一个NioSession,一个Session表示一个连接。之后它会选择一个NioProcessor处理读写事件。NioProcessor可表示一个IO处理机,用于处理read跟write事件。Mina启动时会创建一个包含ncpus+1个NioProcessor对象的对象池,每个NioProcessor会启动一个Processo.........【阅读全文】

阅读(1233) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册