想问下各位是怎么解决并发问题的

jiqiumin 2008-06-04
并发下检索时间很慢啊。
javaeyes 2008-06-05
不知道你的并发是怎么写的
jiqiumin 2008-06-05
????????我没写并发。只是并发测试?难道lucene要写并行?
bulrush 2008-06-06
是的,因为lucene是基于io操作的,所以多线程并发的时候效率很低,你可以使用Ramdirectory方式,加载到内存,可以解决这个问题
jiqiumin 2008-06-06
谢谢,试试先
jiqiumin 2008-06-06
但是有个问题呀,索引文件很大不是很占内存么
SeanHe 2008-06-07
如果查询量较大的话可以使用较简单的集群方式,如同时两台服务器作为搜索服务,前端使用LOADBALANCE作为负载均衡,每台搜索服务起上保存相同的搜索文件。增量更新时没台服务器上都有一个写的进程在维护索引文件
moshalanye 2008-06-17
   并发只是逻辑上的并发,物理上还是将CPU做为零界资源,只有在单线程运行时,CPU有明显的空闲,那么用并发多线程会提高效率,lucene的indexwriter新建的时候是会对新建的directory目录资源独占,即使多线程使用同一个indexwriter,也还有一个writerlock的事务锁阻止并发在同一个目录加索引。
    robbin原来给过一个建议,如果机器比较好,单线程运行cpu空闲比较多的,那么同时在不同的目录并发建索引,结束后再用 indexwriter的addIndex()方法合并索引,但是这个是跟机器性能有关的,如果单机速度不能满足,就只能分布在多台机器上做,然后再合并了,我到现在知道就这些,希望有人能提供一些更好的经验 
Global site tag (gtag.js) - Google Analytics