问题
为了让APP上一切资源皆可搜索,最近几乎把所有数据内容都塞进了Lucene索引,相应发生产的时候这部分MySQL表的同步也就给省掉了。然鹅之前偷懒,对于“史料库”首页数据的刷新都是每次发版前通过SQL语句随机选取生成然后同步的,类似:
1 | SELECT * FROM xxx ORDER BY RAND() LIMIT 10; |
最近为了省事,决定加个Quartz定时任务来刷新,那么问题就来了,生产上没有完整的数据表,因为都给塞Lucene里了……
或许因为已经有封装比较好的Elasticsearch跟Slor了,去网上找基于Lucene的随机搜索排序实现要么就是6-7年前的老版本、要么就是基于Slor之类的方案,无奈1U512M的拖拉机实在是拉不动大家伙( ̄▽ ̄)”
解决
最后啃吧啃吧官方API文档,好歹还是折腾出来了:
1 | public static Random random = new Random(); |