0

我们最近对如何在 sphinxsearch 中加快速度进行了一些研究。

我们发现加快速度的好方法是使用分布式索引。

我们进行了实际测试,发现使用分布式索引时查询的执行速度提高了 35-40%。

我所说的分布式基本上是我们的常规索引,通过添加AND id % 4/3/2/1 = 0到每个源中,对于索引的每个部分,分成 4 个(承载该索引的盒子有 4 个核心)。

仅供参考,id 是我们的主键/自动增量。

因此,与其拥有一个巨大的索引,不如将其拆分为 4 个。

然后我们只使用索引类型 = 分布式 + 本地 .... 本地 .... 本地 .... 本地 .... 用于“将所有部分放在一起”索引。

我们进行了一些快速测试,得到了相同的结果……只快了 35-40% :)

因此,在我们在整个站点范围内实施之前,我们想知道:

切换到上面提到的分布式索引是否会以任何方式影响排序?

我们之所以这样问,是因为我们将 sphinx 用于许多与 SEO 相关的项目,并且我们需要保持结果的顺序相同。

我还应该提到,查询、所有查询选项等保持不变。任何和所有更改都是在守护进程端完成的。

谢谢!

4

1 回答 1

3

排序应该不受影响。使用分布索引和高偏移量时,您会遭受更大的性能损失。但是前几页会很好。

据我所知,陷阱正在使用分组/集群和杀戮列表。但如果不使用它们,应该没什么好担心的。

于 2012-06-18T14:07:36.520 回答