При индексировании элементов иногда происходит сбой, и он дает
The remote server returned an error: (504) Gateway Timeout. [The remote server returned an error: (504) Gateway Timeout.]
Логика индексирования здесь, как показано ниже,
var client = EPiServer.Find.Framework.SearchClient.Instance;
List<ItemModel> items = getItems(); // Get more than 1000 items
List<ItemModel> tempItems = new List<ItemModel>();
//Index 50 items at a time
foreach(var item in items)
{
tempItems.Add(item);
if (tempItems.Count == 50)
{
client.Index(tempItems);
tempItems.Clear();
}
}
Что заставляет это происходить?
Примечание. Вышеупомянутая ItemModel
- это настраиваемая модель, в которой не реализованы интерфейсы (например, IContent
). И items
- это список ItemModel
объектов.
Дополнительная информация:
EPiServer.Find.Framework версии 13.0.1
EPiServer.CMS.Core версии 11.9.2