我做了一个网站,搜索电影的,目前已经收入了电影资源100W,搜索用了Lucene.net,我把一些基本的数据做了索引,现在搜索列表要显示当前搜索结果的浏览次数,因为浏览次数每次都在变,但我索引已经建好了,不可能每次都去更新索引吧?100W的数据,更新一下索引要半天呢?不现实,有没有什么好的方法?
浏览量这些变化那么频的东西不要放在索引库,不然太麻烦了,还不如直接把浏览量放进数据库。显示的时候根据从索引库出来的ID去数据库查找访问量
我现在把搜索列表要显示的内容全部放到了索引库里,这么做,就是为了在搜索的时候,不再去查数据库了。因为上百万的数据就算根据id去查,速度也不会很快
@张和清: 那我给你个建议,不知道你们技术水平做不做得到。
就是把一个索引库(比如说100W资源大),划分成100个子索引库(或者更多)。那样每个子索引库的量就是1W,然后设计一个定时器,每天把这100个索引库做一个合并然后更新到数据库上同步,从而达到实时更新索引库。更新索引库速度慢本质上就是IO操作多导致的。
这个需要算法控制得到位,比较复杂。但是从根本上解决你的问题了。
及时性要求不高,是可以做成定时把数据更新到数据库
浏览次数的及时性和准确性,我都没要求。更新到数据库,我现在就是这么做的,几天更新一下。
但关键是怎么在搜索列表页显示