小编gst*_*his的帖子

Solr用于重新索引大型文档语料库

我们正在寻找一些建议,围绕Solr系统地重新索引一个不断增长的文档集(现在有数千万,一年中有数亿),而不会使当前运行的索引失效.需要在定期基础上重新编制索引,因为:

  • 围绕搜索需要额外模式字段的现有语料库引入了新功能,这些字段我们无法提前预期
  • 语料库跨多个分片索引.当它超过某个阈值时,我们需要创建更多的分片并在所有分片上均匀地重新平衡文档(SolrCloud似乎还不支持).

当前索引会收到非常频繁的更新和添加,需要在几分钟内进行搜索.因此,在批量脱机中重新索引语料库的方法实际上不起作用,因为批次完成时,新文档将可用.

我们目前正在研究的方法是:

  • 在旧群集仍可供搜索时,创建新的分片集群并批量重新索引.不属于重新编制索引的批处理的新文档将发送到旧群集和新群集.准备切换时,将负载均衡器指向新群集.
  • 使用CoreAdmin:为每个分片生成一个新核心,并将重新索引的批处理发送到新核心.不属于重新编制索引的批处理的新文档将发送到旧核心和新核心.准备切换时,使用CoreAdmin动态交换核心.

我们很感激,如果人们可以确认或者在这些方法中的任何一个或所有方法中找到漏洞.一个比另一个更合适吗?还是我们完全脱了?先感谢您.

indexing solr clustered-index bigdata

5
推荐指数
1
解决办法
1150
查看次数

Grails 中的 MappedSuperclass 替代方案

在过去的许多项目中,我使用这种JPA/Hibernate 方法为系统添加审计功能。它非常有效且不引人注目。

是否有 Grails @MappedSuperclass 替代方案(缺少用 Java 而不是 Groovy 编码域模型对象)?如何在没有为其创建表的情况下在每个子类的表方法中声明父类?我已经阅读了 GORM 文档(GORM 中的5.2.3 继承),但除了每个层次表与每个子类表的讨论之外,我没有找到有关如何执行此操作的任何详细信息。

或者,在 Grails 中实现此类审计的推荐方法是什么?

grails jpa auditing

3
推荐指数
1
解决办法
1751
查看次数

标签 统计

auditing ×1

bigdata ×1

clustered-index ×1

grails ×1

indexing ×1

jpa ×1

solr ×1