我在不同的服务器(即 A 和 B)上构建了 2 个 searchd 实例,并在 A 上构建了一个分布式索引。但是,当我从客户端查询 A 时,我只从 A 的索引中得到结果。我的问题是我无法从 B' 索引中获得结果,我很确定我配置正确。
我试过: * 用 IP 地址替换主机名 * 我很确定我没有从 B 的索引中得到结果
A 的 sphinx.conf
index distributed_index
{
type = distributed
local = A_index
agent = 192.168.13.189:9312:B_index
agent_connect_timeout = 1000
agent_query_timeout = 3000
}
客户端查询代码(python)
import sphinxapi
sphinx_host = 'A'
sphinx_port = 9312
SphinxClient = sphinxapi.SphinxClient()
SphinxClient.SetServer(sphinx_host,sphinx_port)
SphinxClient.SetMatchMode(sphinxapi.SPH_MATCH_EXTENDED)
res = SphinxClient.Query("")
当我indexer --all --rotate
得到一个警告:跳过非普通索引'distributed_index'
当我从客户端查询时,我期望来自 A 和 B 的结果。