Я создаю динамическую CMS, поэтому каждый экземпляр CMS будет иметь свои таблицы в одной БД MYSQL. Пока все работает.
Среда:
Теперь я застрял в этом: когда, например, пользователь выполняет поиск по сайту 1, я хочу найти все таблицы $ sitename_posts и вернуть лучшие результаты.
В качестве поисковой системы я использую sphinx. Я пробовал это с двумя источниками и двумя индексами, но когда я ищу, например:
$sphinx = new SphinxClient;
$sphinx->setServer($sphinx_host, $sphinx_port);
$sphinx->setMatchMode(SPH_MATCH_ANY);
$sphinx->setMaxQueryTime(10000);
$sphinx->SetSortMode(SPH_SORT_EXTENDED, '@relevance DESC');
$sphinx->SetLimits(0, 100, 300);
$result = $sphinx->query("Hello World", (index1 index2);
Я не получил результатов. Но если я строю только один индекс и умножаю источники, я получаю результаты, но я не могу определить, из какого источника я получаю данные, поэтому я не могу судить, к какому сайту относится контент.
Еще один вопрос: когда я ищу в индексах, возможно ли, что sphinx возвращает идентификатор и какому индексу этот идентификатор принадлежит? Потому что мне нужно определить, какой индекс принадлежит какому результату.
Спасибо за помощь!