在Solr中索引数据库表数据的最佳方法?

C0d*_*ack 5 database indexing solr batch-processing

我现在有一张大约有10万行的表.我想在Solr索引中索引此表中的数据.

所以天真的方法是:

  • 获取所有行
  • 对于每一行:转换为SolrDocument并将每个文档添加到请求中
  • 转换完所有行后,发布请求

我能想到的这种方法存在的一些问题是:

  • 将过多的数据(整个表的内容)加载到内存中
  • 发布一个大请求

但是,一些优点:

  • 只有一个数据库请求
  • 只有一个POST请求到Solr

这种方法不可扩展,我看到,因为随着表的增长,内存需求和POST请求的大小也会增加.我需要采取n行数,处理它们,然后采取下一行n

我想知道是否有人对如何最好地实现这一点有任何建议?

(ps.我确实搜索过该网站,但我没有发现任何类似的问题.)

谢谢.

C0d*_*ack 1

我使用了 nikhil500 的建议:

\n\n
\n

DIH 确实支持许多变压器。您还可以编写自定义变压器。如果可能的话,我建议使用 DIH - 我认为它需要最少的编码,并且比 POST 文档更快。\xe2\x80\x93 nikhil500 2 月 6 日 17:42

\n
\n