10 华电内部文档搜索系统 search05

上一节讲述了索引更新的处理方案,这一节首先讲述索引维护的相关方案。每创建一个索引,把文档相关的信息插入到数据库中。这个时候会产生一个唯一的对应的ID,获取这个ID之后,把这个ID又插入到对应的索引文件中。

就是说lucene索引中具体的每一个Document也是包含了一个ID,那么这个ID和数据库的ID是同一个ID。也就是说我们在数据库插入的时候会得到一个ID,那么这个ID是得到之后我们再插入到对应的索引中,就是lucene的索引中。

我们检索的时候首先检索的是索引,那么这个时候这个checkbox后面这个value中存放的值是lucene索引的ID和对应的ID是一致的。就是lucene所有的ID和数据库中对应的ID是一致的。

选择删除的时候得到对应的ID同时把对应的数据库中对应的ID也删除掉。这是我们索引维护对应的方案。也就是说数据库这边删除的时候,我们对应的索引也删除,两边同时删除。为了保证一致性,我们使用了同一个ID。也就是说我们插入的时候先插入数据库的ID,把

这个ID反向注入到对应的实体中,我们根据这个实体获取ID,把对应的ID又插入到lucene对应的索引中。这是对应的索引维护的处理。

原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6485830.html