【发布时间】:2014-06-02 15:06:14
【问题描述】:
目前我有一个 Zookeeper 实例控制 3 台物理服务器上的复制。它是 solr 集成的 zookeeper。 1 个分片,1 个集合。
我有一个新要求,我需要一个新的静态 solr 实例(1 个新集合,没有复制)。与以前的集合相同的架构。此实例的副本也将放置在上述 3 台物理服务器上。需要注意的是,我需要在 2 个集合中执行分布式搜索并混合结果。
感谢javacreed 我现在知道分片不在我的解决方案中。之前的问题回答了here 和here。
在我当前的设置中,我在运行 zookeeper 的服务器上运行以下命令 -
java -Dbootstrap_confdir=solr/myApp/conf -Dcollection.configName=myConfig -DzkRun -DnumShards=1 -jar start.jar
我是否正确地说这不会改变,我现在也将手动启动非复制集合。我真的只需要更改我的搜索查询以包含“收藏”参数吗?有点像 -
http://localhost:8983/solr/collection1/select?collection=collection1,collection2
此示例来自 Solr 文档。我有点困惑是否应该是 ...solr/collection1/select?... 或 ...solr/collection2/select?... 或者它是否重要?
谢谢
【问题讨论】:
-
我可能弄错了,但我认为您将 Solr“核心”与 Solr(分片)“集合”混淆了。在 Solr 中,Core 的概念独立于 Sharding,它仅代表一个由(通过)Solr 管理的 Lucene 索引。要通过 Solr HTTP API 访问给定的核心,您可以使用 solr_address:port/solr_root_url/core_name/select?q=*:* 另一方面,如果核心是分片的,那么您有多个集合(每个分片一个)。此时可以做solr_address:port/solr_root_url/core_name/select?q=*:*?collection=collection1
标签: solr apache-zookeeper solrcloud