【发布时间】:2012-06-17 18:28:24
【问题描述】:
我们最近对如何在 sphinxsearch 中加快速度进行了一些研究。
我们发现加快速度的好方法是使用分布式索引。
我们进行了实际测试,发现使用分布式索引时查询的执行速度提高了 35-40%。
我所说的分布式基本上是我们的常规索引,通过将AND id % 4/3/2/1 = 0 添加到每个源中,针对索引的每个部分,分成 4 个(承载此索引的框有 4 个核心)。
仅供参考,id 是我们的主键/自动增量。
因此,与其拥有一个巨大的索引,不如将其拆分为 4 个。
然后我们只需使用索引类型 = 分布式 + 本地 .... 本地 .... 本地 .... 本地 .... 作为“将所有部分放在一起”的索引。
我们进行了一些快速测试,得到相同的结果...仅快 35-40% :)
因此,在我们在整个网站范围内实施该网站之前,我们想知道:
切换到上面提到的分布式索引是否会以任何方式影响排序?
我们之所以这样问,是因为我们将 sphinx 用于许多与 SEO 相关的项目,并且我们需要保持结果的顺序相同。
我还应该提到,查询、所有查询选项等保持不变。任何和所有更改都在守护进程端完成。
谢谢!
【问题讨论】:
标签: sorting indexing sphinx distributed