gpt4 book ai didi

solr - SolrCloud 上的自定义分片或自动分片?

转载 作者:行者123 更新时间:2023-12-04 09:27:19 26 4
gpt4 key购买 nike

我想为超过 1000 万篇新闻文章建立一个 SolrCloud 集群。看完这篇文章:Shards and Indexing Data in SolrCloud ,我有如下计划:

  1. 添加前缀 ED2001!文档 ID,其中 ED 表示某些报纸来源,2001 是新闻文章发布日期中的年份部分,即我想将特定新闻报纸来源的所有新闻文章在特定年份发布到一个分片。
  2. 创建集合,将 router.name 设置为 compositeID。
  3. 添加文档?
  4. 查询集合?

实际上,我有一些问题:

  1. 如何根据这个计划添加文档?更新集合/核心时是否必须指定特殊参数?
  2. 这叫做“自定义分片”吗?如果不是,什么是“自定义分片”?
  3. 对于我的情况,自动分片是否是更好的选择,因为当分片太大时自动分片有分片拆分功能?
  4. 我可以不带_router_参数进行查询吗?

编辑 @ 2015/9/2:

  1. 这就是我认为 SolrCloud 会做的事情:“特定年份的特定报纸来源的新闻文章数量往往在固定数量左右,例如,每年 ED 大约有 80,000 篇文章,因此每个分片的大小不会增加戏剧性地,对于ED明年的新闻文章,我只需要添加前缀“ED2016!”为了记录 ID,SolrCloud 会为我创建一个新的分片(其中包含所有 ED2016 文章),稍后 Leader 会将这个新分片的副本传播到其他节点(每个副本每个节点而不是领导者?)”。我对吗?如果是,似乎不需要分片。

最佳答案

答案-1:如果有文档的模式(结构)那么你可以在schema.xml配置中提供相同的或者你可以使用Solr的用于索引文档的无模式模式。 schema-less 模式将自动识别文档中的字段并为它们编制索引。 schema-less 模式的配置与 solr 中基于模式的配置模式略有不同。之后,您需要将文档发送到 solr 以使用 curl 或 solrj java api 进行索引。本质上,solr 为所有不同的操作提供了休息端点。您可以使用更适合您的任何语言编写客户端。

答案2:您在计划中提到的compositeId的使用称为自定义分片。因为您要决定特定文档应该转到哪个分片。

Answer-3: 如果不确定当前和将来需要索引多少数据,我建议使用自动分片功能。随着索引大小的增加,您可以拆分分片并水平扩展 solr。

答案 4: 我浏览了 solr 文档,没有发现任何地方提到 _route_ 作为强制参数。但在某些情况下,这可能会提高查询性能,因为它克服了查询所有分片时的网络延迟。

Answer-5: 自动分片的意思是根据创建分片时分配的哈希范围将文档路由到分片。它不会自动创建新分片,只是通过为 compositeId 指定新前缀。因此,一旦索引增长到足够大,您可能需要拆分它。在这里检查 more .

关于solr - SolrCloud 上的自定义分片或自动分片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32343813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com