0

Например, поисковые системы, такие как Sphinx, Lucene должны периодически объединять индексы, но индекс базы данных можно динамически обновлять. Почему должен быть объединен индекс поисковой системы?Почему поисковые системы должны периодически переиндексироваться, но баз данных нет?

ответ

0

Я мало знаю о Сфинксе, но я верю, что ответ на этот вопрос не будет связан с ним.

Во-первых, почему базы данных не нуждаются в обновлениях периодически? Это связано с тем, что база данных является основным хранилищем данных для приложений большую часть времени. Под этим я имею в виду, если вы создаете, удаляете или обновляете любые данные; эти данные являются средством записи базы данных. Вы удаляете данные оттуда, чтобы избавиться от него в приложении, или сначала получите данные из базы данных для обновления, поскольку там хранится старая версия. Все это указывает на то, что базы данных постоянно обновляются, и ваши данные всегда актуальны.

Почему индекс поисковой системы требует периодического переиндексации? Индекс - это хранилище данных для поисковой системы, в основном, что вы обрабатываете свои данные, помещая их в индекс, а затем извлекаете их с помощью своей поисковой системы. Этот индекс является вашим вторичным ресурсом данных. Это не выполняется для всех приложений, но большую часть времени у вас есть база данных как основной ресурс, который синхронизируется с вашим приложением, как я объяснял выше, а затем индексирую, где вы не отражаете все изменения в режиме реального времени. Затем вы обнаружите, что ваши данные в индексе немного устарели в соответствии с базой данных. Этот шаг переопределения необходим для того, чтобы ваши ресурсы данных были согласованы.

Как я уже сказал, это объяснение не выполняется для всех приложений, но оно может дать вам основную идею.

ps: В вашем вопросе есть фраза «индекс базы данных», но это совершенно другая тема.

Смежные вопросы