Сфинкс через несколько серверов и разделов базы данных

Привет, я хочу создать пользовательский поиск, полностью управляемый sphinx. Проблема в том, что мои данные распределены по нескольким серверам и базам данных, а некоторые из них разделены. Итак, в конце концов у меня есть три источника данных, один - таблица с основными пользовательскими данными, и она не разбита на разделы, вторая - таблица на другом сервере, где хранятся текущие действия пользователей, которые в данный момент входят в систему, с некоторой базовой информацией, а в-третьих - данные профиля пользователя, полностью разделены (16 сегментов) и на том же сервере, что и живые пользователи

нет проблем построить три отдельных индекса... но я хочу один поиск один основной индекс

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

я пробовал MVA, определяя тип источника как SOURCE, где я мог бы легко определить, например. хост, пользователь, проход, но это не поддерживается, затем я попытался передать некоторые переменные типу запроса, но с нулевым эффектом

Затем я просмотрел некоторое слияние индексов, но пока не нашел решения. не runquery не поддерживает что-то подобное

похоже, моя единственная надежда состоит в том, чтобы получить все данные и сгенерировать xml, а затем передать sphinx, но, насколько мне известно, я теряю обновления живого индекса, а также обновления дельта-индекса, что является проблемой для моего...

Есть какой-либо способ сделать это? что-то, о чем я не думаю? или ошиблись?

2 ответа

Решение

Для этого типа задач не достаточно использовать поиск

Есть несколько вариантов, как вы можете объединить данные в Sphinx:

  1. Вы можете использовать несколько 'source's in' index ', это, вероятно, вы хотели бы попробовать в первую очередь
  2. Вы можете использовать распределенный индекс Sphinx (включая наличие разных узлов на разных серверах с автоматическим объединением результатов родительским узлом)
  3. Вы можете использовать индексатор --merge, но я думаю, что это не имеет смысла в вашем случае
Другие вопросы по тегам