不在项目中启动线程来自动构建索引,而是提供一个程序让通过操作系统的crontab来定期调用。
@红薯
我不是很明白这样做的原因,定期就意味着刚写出来的东西可能立马搜索是搜不到的,这样的好处,我想到的是保存的时间更快了,但是既然是定时任务,那就一定需要一种媒介。去查找哪些哪些是我要新加入的,或者直接全部全部加入一次,这样感觉似乎也有一定的负担吧,请指点一下
lucene是为了加快搜索速度,lucene是基于文件的,和数据库是哪个不同的层级,不过数据是需要从数据库中出来的,然后建立lucene的索引文件
5分钟建立索引其实还是有想不通的地方,假如你通过MQ什么的,把5分钟的数据都写入了队列里,是能建立索引,但是如果是更新操作,删除操作呢,我想是建立索引本身线程不安全,应该是唯一的线程做这个事情,由于增删改查操作,必须要更新索引库,是需要分区域呢,还是说用其他方式,我差不多能理解5分钟的处理,但是数据细节还是想不通
实际上搜索功能往往运用更多的场景是搜索历史数据,如果你想查询最新数据,完全可以点击查询最新按钮,没必要用搜索,而且OSC每五分钟执行一次建索引过程,五分钟内OSC产生的数据并没有多少,按类别去查询最新数据也比较好操作,我认为OSC这么做没毛病,这样的方式最直截了当,实现了功能,又减少了不必要的麻烦
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
lucene是为了加快搜索速度,lucene是基于文件的,和数据库是哪个不同的层级,不过数据是需要从数据库中出来的,然后建立lucene的索引文件
5分钟建立索引其实还是有想不通的地方,假如你通过MQ什么的,把5分钟的数据都写入了队列里,是能建立索引,但是如果是更新操作,删除操作呢,我想是建立索引本身线程不安全,应该是唯一的线程做这个事情,由于增删改查操作,必须要更新索引库,是需要分区域呢,还是说用其他方式,我差不多能理解5分钟的处理,但是数据细节还是想不通
实际上搜索功能往往运用更多的场景是搜索历史数据,如果你想查询最新数据,完全可以点击
查询最新按钮,没必要用搜索,而且OSC每五分钟执行一次建索引过程,五分钟内OSC产生的数据并没有多少,按类别去查询最新数据也比较好操作,我认为OSC这么做没毛病,这样的方式最直截了当,实现了功能,又减少了不必要的麻烦