Я читал информацию о поисковой системе Sphinx и драгоценном камне Thinking Sphinx. В TS docs он говорит ...Индекс Sphinx delta - все еще необходимо перестроить основной индекс?
Sphinx имеет одно важное ограничение по сравнению с множеством других поисковых сервисов, вы не можете обновить поля [от] одного документа в индексе, но придется заново обрабатывать все данные для этого индекса.
Если я правильно понимаю, это означает, что когда пользователь добавляет или редактирует что-то, это изменение не отражается в индексе. Поэтому, если они добавят запись, она не будет отображаться в результатах поиска до тех пор, пока весь индекс не будет восстановлен. Или, если они удаляют запись, она будет приходить в поисках, а затем вызывать некоторую ошибку или расстраивать поведение.
Кроме того, при восстановлении индекса Sphinx выключается. Таким образом, функция поиска вашего приложения регулярно отключается (раз в час, один раз каждые несколько часов), и каждый, кто пытается выполнить поиск, получит сообщение об ошибке или сообщение «попробуйте позже».
ОК, очевидно, ничто из этого не приемлемо в реальном приложении. Таким образом, вы в значительной степени должны использовать дельта-индексацию.
Но, видимо, вам все еще нужно регулярно выключать поисковую систему и сделать полную индексацию ...
Включение дельты индексации не устраняет необходимость регулярно работает полное Переиндексирование, так как в противном случае сам дельта-индекс будет расти так же сильно, как основные индексы, и это устраняет преимущество сохранения его отдельно. Это также замедляет ваши запросы на ваш сервер, которые вносят изменения в записи модели.
Я не совсем понимаю, что здесь говорят документы. Может, кто-то может мне помочь. Я думал, что весь смысл дельта-индексации состоял в том, что вам не нужно нужно регулярно перестраивать индекс. Он обновляется мгновенно всякий раз, когда данные изменяются.
Поскольку восстановление индекса каждый час или все что-либо было бы полностью испорчено, не так ли?
Этот «дельта-индекс сам по себе станет таким же большим, как и базовые индексы», бит абсолютно неверен. Дельта-индекс заменяется новыми, ранее неиндексированными данными каждый раз, когда выполняется текущее обновление/слияние. –