solr 分布式查询产生的奇怪错误
因为项目每天的索引文件是增量的,所以考虑用solr的分布式查询。
但是在试验的时候发现一个奇怪的问题,我一共开了3个tomcat用来模拟3个服务器
同样的请求参数wt=javabin,version=1,q=content:哈利
主服务报错 如下
Internal Server Error
request: http://localhost:8080/solr/select?q=content:哈利&wt=javabin&version=1
从服务器在tomcat后台已经可以看到查询的结果,而且是正确的···
如果把 配置文件中的shards 配置删掉 http://localhost:8080/solr/select?q=content:哈利&wt=javabin&version=1
这个请求是正确的,一直找不到出错的原因。。。
配置文件部分代码如下
<requestHandler name="standard" class="solr.SearchHandler" default="true">
<!-- default values for query parameters -->
<lst name="defaults">
<str name="echoParams">explicit</str>
<bool name="hl">true</bool>
<str name="hl.fl">content</str>
<int name="hl.snippets">1</int>
<str name="shards">localhost:8944/solr,localhost:8943/solr</str>
<!--
<int name="rows">10</int>
<str name="fl">*</str>
<str name="version">2.1</str>
-->
</lst>
</requestHandler>
请了解solr分布式的大侠们帮忙看看,这个问题困扰我好几天了,不胜感激!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
还有这个现象啊,有点意外
有网友指出是子服务器返回的高亮结果的问题,现在已经不不报错了。
可是还是没查询出来结果,如果单独的去查子服务器是可以的,但是加上shards
分布式的去查询返回结果为空。
子服务器后台日志如下:
2010-12-1 11:59:49 org.apache.solr.core.SolrCore execute
信息: [] webapp=/solr path=/select params={fl=id,score&start=0&q=content:txt&isS
hard=true&wt=javabin&fq=&fsv=true&rows=20&version=1} hits=5 status=0 QTime=0
2010-12-1 11:59:49 org.apache.solr.core.SolrCore execute
信息: [] webapp=/solr path=/select params={fl=id,path,content,id&q=content:txt&i
ds=11.txt,13.txt,15.txt,12.txt,14.txt&isShard=true&wt=javabin&fq=&rows=20&versio
n=1} status=0 QTime=0
按道理不是应该返回SolrDocument集合然后在主服务器合并吗?
请使用过分布式查询的大侠们,给点指点吧···