使用Lucene将新文件附加到已编制索引的文件中

使用Lucene将新文件附加到已编制索引的文件中,lucene,Lucene,从数据库中获取一些数据,并使用lucene编制索引和存储 稍后,更多的数据被添加到数据库中,我只需要为这些新添加的数据编制索引,并附加到现有的索引文件中 你能用一个程序解释一下吗?你要问的是增量索引,这不是索引方面的问题,而是数据库中数据(目标文档)的选择方法 您需要使SQLSELECT查询足够灵活,以便使用一个列来标识新添加/更新的行 该列通常是日期列,例如-上次添加的日期,上次更新的日期,因此您可以获取在过去x天、x小时内添加/更新的记录 e、 例如,在DB2上,WHERE DATE(LAS

从数据库中获取一些数据,并使用lucene编制索引和存储

稍后,更多的数据被添加到数据库中,我只需要为这些新添加的数据编制索引,并附加到现有的索引文件中


你能用一个程序解释一下吗?

你要问的是增量索引,这不是索引方面的问题,而是数据库中数据(目标文档)的选择方法

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

该列通常是
日期
列,例如-
上次添加的日期
上次更新的日期
,因此您可以获取在过去x天、x小时内添加/更新的记录

e、 例如,在DB2上,
WHERE DATE(LAST_UPDT_DT)>=CURRENT DATE-2天
将给出最近两天内更新的记录,等等

然后使用Lucene writer的
updateDocument(…)
方法,而不是
addDocument(…)
,因为
updateDocument(…)
将在文档是新文档时添加文档,并在文档已经存在时更新

因此,这种方法既考虑更新的现有行,也考虑更新的新行

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

您应该在
OpenMode.CREATE\u或\u APPEND
模式下打开编写器


希望这有帮助

在Lucene上提问时,请始终指定正在使用的版本。是的,它是增量索引。我可以单独处理最后添加的文件,不必为此操心。问题在于将已编制索引的文件附加到该文件。所以,您能提供一个示例程序来帮助将新索引的文件附加到已索引的文件中吗?