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

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

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

1个回答

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐