SphinxSearch:无法从(远程)代理获得结果
SphinxSearch: Cannot get result from (remote) agent
我在不同的服务器(即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
得到一个 WARNING:skipping 非普通索引 'distributed_index'
当我从客户端查询时,我希望从 A 和 B 得到结果。
我明白了,我明白了!
问题不在服务器(A&B)上,我配置正确。因为我不熟悉 API.Query()
API 需要指定 关键词 以及 查询索引.
res = SphinxClient.Query("","distributed_index_name")
给我正确的结果!
如果你遇到类似的问题,尽管问,我很乐意帮助。
我在不同的服务器(即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
得到一个 WARNING:skipping 非普通索引 'distributed_index'
当我从客户端查询时,我希望从 A 和 B 得到结果。
我明白了,我明白了!
问题不在服务器(A&B)上,我配置正确。因为我不熟悉 API.Query()
API 需要指定 关键词 以及 查询索引.
res = SphinxClient.Query("","distributed_index_name")
给我正确的结果!
如果你遇到类似的问题,尽管问,我很乐意帮助。