Настройка распределенного индекса поиска Sphinx - PullRequest
0 голосов
/ 23 марта 2010

Я решаю, как разделить 3 больших индекса сфинкса между 3 серверами.Каждый из 3 индексов ищется отдельно.

Что более эффективно с точки зрения производительности (скорости поиска):

  1. для размещения каждого индекса на отдельной машине

Пример

machine1 - index1
machine2 - index2
machine3 - index3
или разделить каждый индекс на 3 части и разместить каждую часть одного индекса на отдельной машине.

Пример

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

?

1 Ответ

0 голосов
/ 30 марта 2010

Интуитивно я бы сказал, что первый вариант будет более эффективным.

В этом сценарии при поиске по любому из индексов, скажем, по index1, система просто ищет идентификатор машины, на которой она размещена, и выполняет поиск по ней, возвращая набор результатов.

Во втором сценарии для каждого индекса, который нужно искать, машина должна будет распределить свой поиск по трем машинам, сохраняя в памяти разные идентификаторы машин и где найти каждый чанк, а затем, наконец, сопоставить набор результатов, прежде чем дать вам результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...