sphinx分布式
分布式是为了改善查询延迟问题和提高多服务器、多CPU或多核环境下的吞吐率。对于大量数据(即十亿级的记录数和TB级的文本量)上的搜索应用来说是很关键的。
分布式思想:对数据进行水平分区(HP,Horizontally partition),然后并行处理。
当searchd收到一个对分布式索引的查询时,它做如下操作
1. 连接到远程代理;
2. 执行查询;
3. (在远程代理执行搜索的同时)对本地索引进行查询;
4. 接收来自远程代理的搜索结果;
5. 将所有结果合并,删除重复项;
6. 将合并后的结果返回给客户端.
index dist //配置文件494行
{
type = distributedlocal = chunk1agent = localhost:9312:chunk2 本地agent = 192.168.2.22:9312:chunk3 远程agent = 192.168.2.23:9312:chunk4 远程
}