You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solr两分片RequestHandler配置异常:查询仅返回单分片数据

让Solr默认/select路径返回多分片结果的配置方法

你新增的/selectdistributed请求处理器只是添加了一个新的查询入口,原有的/select处理器并没有自动继承这个配置,所以直接访问/select仍只会查询本地分片。要实现访问第一个节点的/select就返回两个分片的合并结果,有两种可行方案:

方案一:直接修改原有/select处理器的配置

找到solrconfig.xml中原有的/select请求处理器定义,给它添加默认的shards参数,示例配置如下:

<requestHandler name="/select" class="solr.SearchHandler">
  <!-- 保留原有defaults、invariants等配置 -->
  <lst name="defaults">
    <!-- 添加默认分片参数 -->
    <str name="shards">127.0.0.1:8983/solr/core1,127.0.0.1:8984/solr/core1</str>
    <!-- 保留原有其他默认参数,比如rows、fl等 -->
    <int name="rows">10</int>
  </lst>
</requestHandler>

修改后重启Solr节点,访问127.0.0.1:8983/solr/core1/select时会自动带上配置好的分片参数,返回两个分片的合并结果。

方案二:让/select继承已配置的/selectdistributed处理器

如果不想直接修改原/select的配置,可以让它继承你新增的/selectdistributed的配置,修改solrconfig.xml中原/select的定义:

<requestHandler name="/select" class="solr.SearchHandler" inherits="/selectdistributed">
  <!-- 这里可以保留/select特有的配置,比如额外的默认参数 -->
</requestHandler>

这样/select会复用/selectdistributed中配置的默认shards参数,同时保留自身原有配置。

注意:修改配置后必须重启对应的Solr节点才能生效,另外要确保两个分片的Core配置(如schema、字段定义)完全一致,避免查询时出现字段不匹配的异常。

内容的提问来源于stack exchange,提问作者Emanuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:48:58