我想为超过一千万篇新闻文章建立一个SolrCloud集群。看完这篇文章:qazxsw poi,我的计划如下:
实际上,我有一些问题:
编辑@ 2015/9/2:
答案1:如果有文档的架构(结构),那么你可以在Shards and Indexing Data in SolrCloud配置中提供相同的,或者你可以使用Solr的schema.xml
模式索引文档。 schema-less
模式将自动识别文档中的字段并对其进行索引。 schema-less
模式的配置与solr中基于模式的配置模式略有不同。之后,您需要使用curl或solrj java api将文档发送到solr以进行索引。从本质上讲,solr为所有不同的操作提供了休息终点。您可以使用任何更适合您的语言编写客户端。
答案2:你在计划中提到的,使用schema-less
,称为自定义分片。因为您决定特定文档应该去哪个分片。
答案3:如果不确定您目前和将来需要索引多少数据,我建议使用自动分片功能。随着索引大小的增加,您可以分割碎片并水平缩放solr。
答案4:我查看了solr文档,没有找到任何提及compositeId
作为强制参数的地方。但在某些情况下,这可能会提高查询性能,因为它可以在查询所有分片时克服网络延迟。
答案5:自动分片的含义是根据创建分片时分配的哈希范围将文档路由到分片。它不会自动创建新的分片,只需为_route_
指定一个新的前缀即可。因此,一旦索引的大小变得足够大,您可能需要将其拆分。点击这里查看compositeId
。
这实际上是回答我自己的问题的指南:
我有点理解一些概念:
显然我的策略不起作用,因为我需要总是在Solr中添加新年的新闻文章,而且我无法预先预测多少分片。可以这么说,Implicit路由器对我来说似乎是一个可能的选择(我们创建需要的分片并将文档添加到我们打算使用的分片中)。