我有一个名为EMP的表,其ID和名称为字段,它有2条记录。我已经将xml doc形成为
<add>
<doc>
<field name="ID">1</field>
<field name="Name">Name1</field>
</doc>
<doc>
<field name="ID">2</field>
<field name="Name">Name2</field>
</doc>
</add>
我第一次将上面的xml文件索引到solr。但是当在表中创建第3条记录时,我应该选择只有第三条记录的xml文件,即
<add>
<doc>
<field name="ID">3</field>
<field name="Name">Name3</field>
</doc>
</add>
分别索引这个xml文件?
或者我应该将新的第3条记录添加到原始的xml文件中,即
<add>
<doc>
<field name="ID">1</field>
<field name="Name">Name1</field>
</doc>
<doc>
<field name="ID">2</field>
<field name="Name">Name2</field>
</doc>
<doc>
<field name="ID">3</field>
<field name="Name">Name3</field>
</doc>
</add>
再次索引这个新创建的xml文件?但是,当有数百万条记录时,生成一个xml文件需要时间,并且索引所有文档也需要时间。
那么,我如何处理增量索引/更新场景?
答案 0 :(得分:3)
创建包含增量(即新行或更改的行)的新XML文件可以解决您的问题,而且您认为它比完全导出/导入更有效。
如果要绕过创建XML文件,应该查看DataImportHandler,它允许您从(例如)JDBC源导入数据。它作为Solr的贡献包括在内。