Sphinx 无法读取 searchd 响应
我对 Sphinx searchd 有奇怪的行为。我在 ubuntu 9.10 上将它与 Python 标准客户端一起使用
对于相同的查询,它可以给出正常响应,也可以给出损坏的包,如下所示: 无法读取 searchd 响应(status=0,ver=1,len=278,read=72)
此问题出现的概率为 50%。
我的测试索引只有 5 个文档和默认配置。
将不胜感激的帮助)
I have strange behavior of Sphinx searchd. I used it with Python standard client on ubuntu 9.10
For same query it's can give normal response or can give broken package like this:
failed to read searchd response (status=0,ver=1,len=278,read=72)
this problem appears with 50% probability.
I have test index with only 5 documents and default config.
Will be grateful for help)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我知道这个问题已经很老了,但是为了所有来到这里的 Google 员工的利益......
如果您的 sphinx 服务器版本与您正在使用的 API 版本不完全匹配,这种情况也可能发生。
I know this question is very old, but for the benefit of any Googlers coming here....
This can also happen if your sphinx server version does nto match exactly with the API version you are using.
我明白了这一点。如果 Sphinx 无法将用户请求分配给工作人员(如果当时没有空闲工作人员),它将返回损坏的包。这绝对是searchd的一个bug。要解决此问题,请将 max_children 属性设置为更大的值或 0(无限制的工作人员)
I figured out this. If Sphinx can't assign user request to worker(if there are no free workers at that time) it return broken package. This is definitely a bug of searchd. To fix this, set max_children property to bigger value or to 0(unlimited workers)