osborn0221 2013-05-06 14:20
浏览 379
已采纳

lucene怎样在做增量索引的同时更新旧数据?

现在的项目要求做近实时索引,大约15分钟更行一次。数据会不断新增,而旧数据也会经常被修改。我计划用增量索引来做,根据数据库的更新时间来添加文档。但被更新的文档可能索引里已经有了,添加之后数据可能会重复。

请问如何消除这种重复的可能性,是每添加一个document时都先查一下索引里是不是已经有,还是记录数据库所有的修改操作并将id放到队列里,跑索引的时候一起更新?请问lucene有没有更好的内部机制解决这个问题,比如能不能像数据库一样指定unique的字段?

  • 写回答

1条回答

  • xiao_phoenix 2013-05-06 23:13
    关注

    方案1: 你修改的数据 加一个触发器 如果你要索引的字段被改动后
    把id插入另一张表里 然后跑定时任务 根据这些ID查找出要索引的数据 定时的构建索引 然后再把这些IDdelete掉

    方案2: 用solr 数据更新量不是太大的话 修改了数据可以实时请求solr
    查询也可以用solr提供的api 数据更新量太大了 还是定时请求solr

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集