我正在阅读一本关于 Sphinx 的书,其中提到为了利用多核和 Sphinx 技术本身,我将不可避免地不得不将一个大索引拆分为更小的索引,并在多索引查询中查询它们。然而,这本书并没有涉及任何进一步的细节。
对此的一般策略是什么?您是否只是以类似 UNION 的方式拆分它,例如
index1: SELECT ... FROM table LIMIT 0, 1000
index2: SELECT ... FROM table LIMIT 1000, 1000
...
然后你不时重建这些碎片。当进行搜索时,不同的核心会并行处理这些索引吗?或者它是不同的东西,比如将现有项目分离到更大的索引中,而新的项目被添加到较小的索引中?还是将文本字段分成一个索引,将属性分成另一个?