搜索引擎的容错处理方式

大海 发布于 2016/06/06 22:47
阅读 189
收藏 1

    我先描述一下我遇到的问题,一个新闻网站,在添加新闻到数据库的时候会自动添加索引到搜索引擎当中,目的是为了增加搜索的效率,而不用直接去数据库查找新闻。但是有个问题,就是搜索引擎不稳定,有些时候会无法连接,那么在新增新闻添加索引会失败,我要做的是在添加索引失败的时候,把新闻索引值添加到redis里,然后每过5-10分钟读取一下redis里的值,并判断搜索引擎是否正常,如果正常的话就把redis的索引添加到引擎中,不正常的话依然保存索引在redis当中。

说了那么多关键问题来了,当然说的是搜索引擎无法正常连接的情况下,比如我有1000条索引,把这么多数据添加到引擎是不行的,因为get方法参数值是有大小限制的,而且也不能用post方法。我准备采用类似于jdbc batch的方式,写一个循环,当i%10 ==0 的时候,也就是下标能被10整除的时候,把之间10条索引插入数据库,但是如果有1009条数据,当循环结束的时候,会有9条数据被漏掉,请问各位如何写一个完美的代码能够以每次10条索引的效率添加入引擎而又不会漏掉个别的索引?

加载中
返回顶部
顶部