2017-04-11 70 views
0

从数据库中获取一些数据,并使用lucene对其进行索引和存储。使用Lucene将新文件追加到已编入索引的文件中

后来,一些更多的数据被添加到数据库,我需要索引这些新添加的数据,并追加到现有的索引文件。

你可以用程序解释一下吗?

+0

当对Lucene提出问题时,请始终指定正在使用的版本。 –

回答

0

你在问什么是增量索引这在索引方面更少,更多的是从数据库中选择数据(目标文档)的方法。

您需要使您的SQL SELECT查询足够灵活以使用标识新添加/更新的行的列。

该列通常是DATE列即类似 - LAST_ADDED_DTLAST_UPDT_DT这样你就可以提取记录添加/去年x天更新,X小时等

例如在DB2一样,WHERE DATE(LAST_UPDT_DT) >= CURRENT DATE - 2 DAY会给你的记录在最后两天,等

,然后更新使用Lucene的作家,而不是addDocument(...)updateDocument(...)方法,因为updateDocument(...)如果文档是一个新的文件将添加的文件和文件是否已经存在,将更新。

所以这种方法负责更新现有的行以及新的行。

Lucene创建新文件或附加到现有文件不是您的头痛,然后,Lucene将根据其设置和结构为该版本组织文件。

您应该在OpenMode.CREATE_OR_APPEND模式下打开您的作家。

希望这有助于!

+0

是的,它是增量索引。我可以单独添加最后添加的文件,不用担心这一点。问题是用已经索引的文件追加这些文件。那么你能帮助一个示例程序来追加那个已经编入索引的文件的新索引文件吗? –