我有一个单核Solr设置,包含数百万个文档,我希望将它们分成许多较小的分片(在同一台机器上)。
动机是减少提交/"软提交"时间。
然后我计划使用"分布式搜索"在所有分片上执行相同的查询并获得统一的结果(就好像它是一个核心)
我的查询包括分面但我相信它支持交叉分片搜索
可以在没有Solr Cloud的情况下完成吗?
我是索尔的新手,我不确定碎片和核心之间的区别。
我的主要问题是我是否可以在同一台服务器上配置多个内核并将它们用作分片?
如果有人可以指向我这样设置的相关示例/文档,那将非常有用。
答案 0 :(得分:3)
或者您可以在solr配置中为任一核心添加新的requestHandler,如下所示
<requestHandler name="/new-req" class="solr.SearchHandler">
<lst name="defaults">
<str name="shards">localhost:8983/solr/core1,localhost:8983/solr/core2</str>
</lst>
</requestHandler>
因此查询网址将缩短如下
http://localhost:8983/solr/core1/new-req?q=name%3Atest&wt=xml&indent=true
答案 1 :(得分:0)
经过一些测试后,核心似乎工作得很好
我创建了几个核心,并使用包含核心名称的shards参数发送查询请求。
示例:
http://localhost:8983/solr/core1/select?q=name%3Atest&wt=xml&indent=true&shards=localhost:8983/solr/core1,localhost:8983/solr/core2