2016-01-14 4 views
0

Это первый раз, когда я использую Lucence с Sitecore, и я хотел бы знать, что когда когда-либо обновляется или редактируется элемент, индекс Index для этого элемента автоматически обновляется или нет?Lucene с sitecore - это индекс, обновленный автоматически? Если нет, то как я могу обновить индекс?

Если нет, то каков наилучший способ обновления индекса Lucene при обновлении элемента?

Документация Sitecore о Index and Searching гласит, что «каждый раз, когда вы обновляете, создаете или удаляете элемент, Sitecore запускает задание, которое обновляет индексы». Но я не могу найти то же мнение о Люцене.

ответ

1

Lucene является поставщиком Sitecore по умолчанию. В чистом случае Sitecore обновляет индексы автоматически

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

Если начать баловаться с вашей конфигурации, вы можете тормозить его несколькими способами.

2

Вы просматриваете неправильную ссылку. Ссылка, которую вы нам предоставили, - это ссылка 6.6, но ваш вопрос - тег Sitecore 7.2. Исходя из Sitecore 7, поставщик поиска был изменен. Вам необходимо проверить документацию Sitecore 7.

В Sitecore у вас есть несколько типов стратегий обновляемых индекс:

  1. IntervalAsynchronousStrategy (intervalAsyncCore, intervalAsyncMaster): В настройках, периодически проверять историю двигателя для обновленных данных для индекса. В некотором объеме перестроение индекса может быть более эффективным, чем его обновление. Конфигурация по умолчанию устанавливает для свойства CheckForThreshold значение true, что приводит к полной перестройке индекса, если количество затронутых элементов, определенных из механизма истории, превышает значение, указанное в параметре ContentSearch.FullRebuildItemCountThreshold в файле Web.config. Если этот параметр отсутствует (в соответствии со стандартной конфигурацией), его значение по умолчанию - 100 000. Конфигурация по умолчанию для индекса sitecore_core_index базы данных Core (настроена в /App_Config/Include/Sitecore.ContentSearch.Lucene.Index.Core.config Web .config include file) использует эту стратегию с интервалом в одну минуту.
  2. ManualStrategy (manual): Эта стратегия отключает автоматическое обновление индекса. Любой индекс, который использует эту стратегию, требует ручного или программного обновления, хотя вы можете обновлять любой индекс вручную программно. Конфигурация по умолчанию не применяет эту стратегию к любым индексам. Вы не должны сочетать эту стратегию с другими стратегиями восстановления индекса. Это намерение этой стратегии относится к конкретным случаям, например, когда весь процесс индексирования происходит на отдельном отдельном экземпляре, что означает, что локальному экземпляру не требуется выполнять какие-либо операции индексирования.
  3. OnPublishEndAsynchronousStrategy (onPublishEndAsync): запущена публикацией: end и publish: end: удаленные события. В этой стратегии используется очередь событий для определения обновленных данных для индексации пошагово. Если в базе данных истории нет записей с отметками времени после последнего обновления индекса, эта стратегия не предпринимает никаких действий. По умолчанию Sitecore 7 позволяет очереди событий, как требуется, использовать эту стратегию. Конфигурация по умолчанию устанавливает для параметра CheckForThreshold эту стратегию значение true, что приводит к полной перестройке индекса, если в таблице истории указано больше, чем настроенное количество обновленных элементов. Эта конфигурация, используемая по умолчанию для индекса sitecore_web_index целевой целевой публикации публикации по умолчанию с именем web, настроенной в файле /App_Config/Include/Sitecore.ContentSearch.Lucene.Index.Web.config Web.config, применяет эту стратегию, которая подходит для публикации целевых баз данных , Вы не должны сочетать эту стратегию с стратегией SynchronousStrategy с IntervalAsynchronousStrategy.Вы можете использовать эту стратегию с индексами, использующими реализацию SwitchOnRebuildLuceneIndex, которая индексируется во временный каталог, чтобы избежать влияния использования индекса во время индексации.

  4. RebuildAfterFullPublishStrategy (rebuildAfterFullPublish): Эта стратегия выполняет полную перестройку индекса после публикации сайта или любого полного события публикации. Для одного индекса вы не должны использовать эту стратегию в сочетании с стратегией SynchronousStrategy, хотя вы можете объединить ее с другими. Если вы используете эту стратегию в сочетании с стратегией OnPublishEndAsync, обязательно зарегистрируйте RebuildAfterFullPublishStrategy до стратегии OnPublishEndAsync. Sitecore исследует стратегии в настроенном порядке. В этом порядке вы используете эффективную стратегию, когда это возможно (после небольших операций публикации), но не сразу после полного восстановления индекса.

  5. RemoteRebuildStrategy (remoteRebuild): Индексы, управляемые на удаленных хостах, могут использовать эту стратегию для выполнения полных перестроек индекса после завершения полных перестроек на других хостах. Например, индекс в экземпляре доставки контента может использовать эту стратегию для принудительной перестройки, когда пользователь перестраивает индекс в среде управления контентом через пользовательский интерфейс. Эта стратегия соответствует индексированию: end: remote event. Конфигурация по умолчанию не применяет эту стратегию к любым индексам.
  6. SynchronousStrategy (syncMaster): эта стратегия повторно индексирует обновленные данные сразу после различных событий. При инициализации эта стратегия привязана к событиям в низкоуровневом движке данных, чтобы обеспечить почти обновление индекса в реальном времени. В средах с одним экземпляром эта стратегия гарантирует обновление индекса сразу после изменения данных. В средах с несколькими экземплярами эта стратегия работает с очередью событий, которая передает удаленные события, инициирующие индексирование. Это самая дорогая стратегия индексирования с точки зрения машинных ресурсов и должна использоваться только в ограниченных условиях. Эта стратегия подходит для сред управления контентом и, скорее всего, никогда не будет средой доставки контента, если обновление индекса в реальном времени абсолютно не критично. Вы не должны сочетать эту стратегию с любой другой стратегией, кроме RemoteRebuildStrategy. Эта стратегия применяется по умолчанию для индекса sitecore_master_index основной базы данных (в файле /App_Config/Include/Sitecore.ContentSearch.Lucene.Index.Master.config Web.config).

Более подробная информация о стратегии индекса Sitecore вы можете найти здесь http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2013/04/sitecore-7-index-update-strategies.aspx

https://dev.sitecore.net/sitecore%20experience%20platform/search%20and%20indexing/index%20update%20strategies