【问题标题】:Apache Solr: Custom document routerApache Solr:自定义文档路由器
【发布时间】:2018-07-05 21:44:11
【问题描述】:

我正在尝试在我的应用程序中实现按日期分片。我知道在 Solr 云中,我可以使用 CompositeId 路由器实现到特定分片的路由。

但这种方法会导致预先配置的分片数量(或编写分片拆分逻辑 - 不太难,但很麻烦)。

我想知道是否可以将自定义路由器编写为 Java 类并将其提供给 Solr?只要时间合适(例如:新月份),自定义路由器就会简单地创建新分片并将新文档直接路由到它。

这可能吗?或者有任何资源如何实现这一目标? (我查看了文档并没有提及...)

【问题讨论】:

  • 您这样做的最终目标是什么?为什么每个日期都有一个新的 shard 很重要?正在使用的解决方案是为每个日期创建一个集合,然后使用集合别名将这些集合组合在一起。它将允许您在集合老化时删除它们,每天使用自己的复制和分片策略(当文档数量增加时等)将它们分布在多个服务器上。
  • 我们的查询通常按日期排序。我们通常应该只命中一两个最近的分区。因此,目标是能够提示 solr 首先搜索最新数据,甚至不尝试转到包含 X 个月以前的数据的索引。

标签: solr solrcloud


【解决方案1】:

我不会走那条路。我建议你仔细研究Time partitioned collections 所做的工作。这还没有完成,所以也许你不能以最好的方式使用它,但是许多构建部分已经完成,所以你应该能够利用它们中的大部分。然后,在未来,您有望转向完整的内置功能。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 2012-05-13
相关资源
最近更新 更多