【发布时间】:2012-02-28 01:07:15
【问题描述】:
目前我有一张大约有 100,000 行的表格。我想在 Solr 索引中对该表中的数据进行索引。
所以天真的方法是:
- 获取所有行
- 对于每一行:转换为 SolrDocument 并将每个文档添加到请求中
- 转换所有行后,发布请求
我能想到的这种方法的一些问题是:
- 将太多数据(整个表的内容)加载到内存中
- 发布一个大请求
不过,也有一些优点:
- 对数据库只有一个请求
- 只有一个向 Solr 发出的 POST 请求
该方法不可扩展,我发现随着表的增长,内存需求和 POST 请求的大小也会随之增长。我可能需要获取n 的行数,处理它们,然后获取下一个n?
我想知道是否有人对如何最好地实现这一点有任何建议?
(ps。我确实搜索了该网站,但没有找到任何与此类似的问题。)
谢谢。
【问题讨论】:
-
我读到过,但这不是直接的 column-to-indexField 映射,应用了一些转换,因此想在代码中执行此操作。
-
DIH 确实支持许多transformers。你也可以写custom transformers。如果可能,我会推荐使用 DIH - 我认为它需要最少的编码,并且比 POST 文档更快。
-
您的客户端平台是什么?爪哇?
标签: database solr indexing batch-processing