我已经按照this在Solr中设置了shard。根据这个主题“在两台本地服务器上测试索引切分”,我能够查询到切分并获得结果(somehose:port1/solr/select?shards=somehost:port1/solr,somehosts:port2/solr&indent=true&q=helloworld)。
在该页面中,还提到“与其要求用户显式地包含shards参数,不如将此参数配置为solrconfig.xml的RequestHandler部分中的默认参数。”。端口1上运行的solr示例的xml
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
</lst>
<lst name="shards.info">
<lst name="localhost:port2/solr">
<long name="numFound">1333</long>
<float name="maxScore">1.0</float>
<str name="shardAddress">http://localhost:port2/solr</str>
<long name="time">686</long>
</lst>
<lst name="localhost:port1/solr">
<long name="numFound">342</long>
<float name="maxScore">1.0</float>
<str name="shardAddress">http://localhost:port1/solr</str>
<long name="time">602</long>
</lst>
</lst>
现在,我试图点击somehost:port1/solr/collection1/select?q=helloworld&wt=json&indent=true,但我没有得到想要的响应。请告诉我这里缺少什么?
1条答案
按热度按时间rdrgkggo1#
您不能只是将响应中的内容复制到配置文件中,这两种格式完全不同。引用的事实是
defaults
部分中的每个条目都被添加到查询字符串中(除非已经提供了这些条目-如果要强制某个不能被覆盖的值,也有一些选项)。…应该做你想做的。这将把shards=somehost:port1/solr、somehoste:port2/solr添加到经过该处理程序的所有请求的查询字符串中。