第5课:Sphinx分布式配置

所谓分布式,就是把一个索引按照一定的规则(一般是对主键取模)拆分存贮到不同端口或者不同机器上
你可能有疑问:如果我把数据拆分存在不同端口或者机器上,我怎么搜索全部数据,每个端口或者机器是不是只有总数据的一部分?
答案是否定的,sphinx有很好的处理机制,保证你用其中一个端口或者机器,就可以取到所有的数据
配置非常简单,看下面的配置文件例子即可

index dist1#索引
{
	type			= distributed//类型为分布式
	local			= test1
	local			= test1stemmed
	## 分布式索引(distributed index)中的远程代理和索引声明
	agent			= localhost:9313:remote1
	agent			= localhost:9314:remote2,remote3
	# agent			= /var/run/searchd.sock:remote4
	## 分布式索引( distributed index)中声明远程黑洞代理
	# agent_blackhole		= testbox:9312:testindex1,testindex2
	## 远程代理的连接超时时间
	agent_connect_timeout	= 1000
	## 远程查询超时时间
	agent_query_timeout	= 3000
}

举个栗子
index godeye_org_sphinx
{
        type                    = distributed
        agent                   = 10.11.1.162:9201:godeye_org
        agent                   = 10.11.1.162:9202:godeye_org
        agent                   = 10.11.1.162:9203:godeye_org
        agent                   = 10.11.1.162:9204:godeye_org
        agent_connect_timeout   = 1000
        agent_query_timeout     = 10000
}