Я создал страницу пользовательского поиска по умолчанию sitecore_web_index
, и все, казалось, работало, пока я не перешел на тестовую среду с отдельными серверами управления контентом и серверами доставки контента. Индекс на сервере CD не обновляется при публикации (сервер CM делает это), если я перестрою индекс с панели управления, я вижу обновления. Поэтому я считаю, что индекс и страница поиска работают правильно.
В индексе используется стратегия onPublishEndAsync
. Руководство по поиску и указанию Sitecore (http://sdn.sitecore.net/upload/sitecore7/70/sitecore_search_and_indexing_guide_sc70-usletter.pdf) в разделе 4.4.2 гласит:
Эта стратегия делает именно то, что подразумевает название. Во время инициализации он подписывается на
OnPublishEnd
и запускает инкрементную перестройку индекса. С отдельными серверами CM и CD это событие будет инициировано с помощью объектаEventQueue
, что означает, что объектEventQueue
должен быть чтобы эта стратегия работала в такой среде.
У моего web.config есть <setting name="EnableEventQueues" value="true"/>
Также из руководства по поиску и указателям:
Обработка
Стратегия будет использовать объектEventQueue
из базы данных, в которую она была инициализирована:<param desc="database">web</param>
Это означает, что существует множество критериев для успешного выполнения этой стратегии:
- Эта база данных должна быть указана в разделе
<databases />
конфигурационного файла.- Значение параметра
EnableEventQueues
должно быть равно true.- Таблица
EventQueue
в предварительно сконфигурированной базе данных должна иметь записи, датированные позже индекс времени последнего обновления.
Я не уверен в настройке <param desc="database">web</param>
, потому что цель публикации (и идентификатор базы данных) для CD-сервера pub1
. Я попытался изменить web
на pub1
, но затем ни один из них не обновлялся в публикации (поэтому он изменился на web
).
Недавно система была обновлена с Sitecore 6.5 до 7.2, поэтому есть несколько индексов с использованием API Sitecore.Search
, и эти индексы обновляются в публикации.
Является ли параметр базы данных на EventQueue
неправильным, учитывая множественные цели публикации? Есть ли что-то еще, что мне не хватает, или, возможно, рабочий пример среды CM → CD, с которой я мог бы сравниться?
ТИА
EDIT: Если бы у меня не было собеседника, сидящего рядом со мной как в пятницу, так и сегодня, кто может подтвердить, я думаю, что сойду с ума. Но теперь сервер CD получает обновления индекса, но сервер CM не получает обновлений. Что бы теперь сервер CM не получал обновления?