![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
Что получается в результатах поиска?
Результатом поиска является страница сайта, т.е. находится информация, как она выглядит на сайте. Например, заголовок новости содержит слово «Выборы». При этом, в результатах поиска мы найдем не только саму страницу новости, но и страницы со списком новостей. Ведь на тех страницах было название этой новости, поэтому они тоже найдутся в результатах поиска. Кроме всего прочего может найтись еще и страница, на которой в момент обхода в текстовом баннере содержалась данная строка. Чтобы избежать индексации ненужного содержимого, например, текстовых баннеров, можно обрамлять текст специальными инструкциями (NOINDEX), которые поддерживаются большинством поисковых систем. Однако корректное их использование – на совести разработчика. Как происходит обновление индекса? По расписанию программы-обходчика. Он с определенной периодичностью сканирует сайт. При этом, ему приходится обходить все страницы сайта. Индекс может перестраиваться не полностью, а частично, в зависимости от того, изменилась страница или нет. Но для этого все равно нужно обойти и скачать все страницы. Какие есть ограничения на формирование ссылок? Собственно на способ формирования ссылок ограничений нет. Ссылка может иметь произвольный вид. Поиск по информации сайта. В системах такого класса для организации поиска используются внутренние средства хранилища данных. База данных самостоятельно умеет осуществлять индексацию всей информации, включая текстовые материалы. При таком подходе индексации подвергается собственно сама информация, а не ее представление. Что мы получаем в результатах поиска? В результатах поиска мы получаем ссылки только на непосредственно сами документы, в которых содержится требуемая информация. Как происходит обновление индекса? База данных самостоятельно отслеживает все изменения информации и автоматически обновляет индексы. Обновление происходит по мере внесения изменений. Какие есть ограничения на формирование ссылок? Ограничения есть. Ведь в результатах поиска мы получаем просто набор документов из базы. Это значит, что должно существовать однозначное правило, по которому для любого документа в базе можно автоматически сформировать ссылку на этот документ на сайте. Можно ли одновременно искать по контексту и атрибутам? Естественно, поскольку индексация производится хранилищем, можно совмещать поиск по разным атрибутам, с любыми ограничениями. Как происходит индексация разделов с ограниченным доступом? Точно так, как и для всей остальной информации. Система индексирует все данные, а какие из них кому показывать – определяется на этапе отображения.
34.Разработка системы управления контентом, варианты архитектуры, способы реализации.
Подходы к реализации динамических типов данных. Если система управления сайтами поддерживает создание новых типов документов со связями, это означает достаточную степень гибкости системы. Сравним некоторые варианты реализации этих возможностей с точки зрения хранения информации. И посмотрим, как подходы к реализации влияют на предоставляемые пользователям возможности. Наиболее известны следующие подходы к созданию динамических типов: Пары ключ/значение Одной из наиболее популярных реализаций такого подхода является примерно следующая структура: Вся поддержка реализуется на базе четырех фиксированных таблиц. • Entity – справочник типов документов • Attributes – описания атрибутов, которые есть у документов данных типов. • Object – собственно документы данных типов • ObjectAttributes – хранение значения атрибутов для всех объектов. Названия таблиц, полей и т.д., могут отличаться в разных реализациях, но суть подхода остается той же. Основным является то, что все значения всех атрибутов хранятся в одной таблице в виде пар – атрибут/значение. Данная реализация является наиболее простой в реализации и поэтому популярной, однако имеет ряд существенных недостатков. 1) Большое количество таблиц, участвующих в выборках. Допустим, Вам необходимо выбрать всю информацию по одному товару. При этом товар имеет 10 атрибутов. В этой выборке будет участвовать, как минимум, 11 таблиц. Одна таблица Object и 10 таблиц ObjectAttributes. Это при условии, что информация по описаниям атрибутов уже выбрана заранее и закэширована. Иначе придется включать еще и 10 таблиц Attributes. Итого – 21 таблица в выборке для получения данных. 2) Значительный рост количества записей и объем таблицы с данными (ObjectAttributes). Если у нас товар имеет 10 атрибутов, то для 100 тыс. Записей товаров, в таблице значений атрибутов будет уже миллион записей. В итоге мы получаем, что таблица со значениями атрибутов документов растет очень быстро и в каждой выборке эта таблица включается столько же раз, сколько атрибутов необходимо получить. С ростом количества записей это ведет к катастрофической потере производительности. В результате такой подход хорошо работает только в системах с небольшим объемом информации.
![]() |