solr中文档的增量更新

时间:2010-12-21 10:21:30

标签: solr

我有一个名为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文件需要时间,并且索引所有文档也需要时间。

那么,我如何处理增量索引/更新场景?

1 个答案:

答案 0 :(得分:3)

创建包含增量(即新行或更改的行)的新XML文件可以解决您的问题,而且您认为它比完全导出/导入更有效。

如果要绕过创建XML文件,应该查看DataImportHandler,它允许您从(例如)JDBC源导入数据。它作为Solr的贡献包括在内。