марта
25
2016
0
Почему бы не добавить в основную ветку починенный sphinx?
А точнее вот это: http://livestreet.ru/blog/tips_and_tricks/14568.html
Я не понимаю, почему нужно делать индекс под каждого пользователя, если передаваемый в выборку набор блогов к которым разрешен доступ -это просто еще один параметр фильтрации?
Насколько я понял — индексы строятся по всем данным. А когда идет выборка — то помимо собственно искомого слова еще вводится ограничение на его «источник».
1) У блогов есть признак, индексировать входящие в них топики или нет (поле index_ignore)
2) У топиков тоже есть признак индексации (поле topic_index_ignore)
3) В индексе Сфинкса в условиях WHERE значится:
AND t.topic_index_ignore=0
Этот признак топика отслеживается и проставляется в нужное значение при соответствующих манипуляциях — добавление, редактирование, перенос в другой блог и т.д.