我在分布在两台机器上的索引上使用Sphinx 2.1.4-release(rel21-r4421)。我想重新将结果重新组合成为Sphinx排名者返回的weight()以及我自己在某个字段中包含的得分。查询如下所示:
SELECT id, name, weight()+score as rank FROM data WHERE match('test') ORDER BY rank DESC LIMIT 10;
根据文档,这应该是一个有效的查询。它确实适用于单个索引。但是,当我查询由两个分片组成的分布式索引时,只有一个返回结果集,而另一个我得到一个警告:
索引数据:代理127.0.0.1:9312:远程错误:选择:语法错误,意外SEL_WEIGHT接近'权重()+得分为排名'
配置如下:
index data
{
type = distributed
local = data_0
agent = 127.0.0.1:9312:data_1
}
如果我将两个分片移动到本地服务器并将配置更改为:
index data
{
type = distributed
local = data_0
local = data_1
}
一切正常,我从两个分片中得到结果。
这对我来说似乎是个错误,或者可能是配置问题?