Sphinx搜索分布式索引调优

时间:2010-03-23 09:58:24

标签: full-text-search distributed sphinx

我正在决定如何在3台服务器之间拆分3个大型sphinx索引。分别搜索3个索引中的每一个。

在性能(搜索速度)方面更有效:

  1. 在单独的计算机上托管每个索引
  2. 实施例

    machine1 - index1
    machine2 - index2
    machine3 - index3
    
    1. 或将每个索引拆分为3个部分,并在同一台机器上托管同一索引的每个部分。
    2. 实施例

      machine1 - index1_chunk1,  index2_chunk1, index3_chunk1
      machine2 - index1_chunk2,  index2_chunk2, index3_chunk2
      machine3 - index1_chunk3,  index2_chunk3, index3_chunk3
      

1 个答案:

答案 0 :(得分:0)

直观地说,我会说第一种选择会更有效率。

在这种情况下,当您搜索任何索引(例如index1)时,系统只会查找托管在其上的计算机ID,并在其上搜索,返回结果集。

在你的第二个场景中,对于每个要搜索的索引,机器必须在三台机器上分配搜索,在内存中保存不同的机器ID,在哪里找到每个块,然后在给你之前最后整理结果集结果