Я не получаю Azure максимальное ограничение публикации документа в одном запросе.
Просто я хочу знать, есть ли официальная ссылка, которая показывает максимальный лимит на индексатор на сервере azure согласно купленный план Click me .
Здесь ограничения azure Официальный индексатор Ссылка
Ниже кода для создания пакетов
public virtual void PostBulkDataToAssortmentIndex(ISearchFilterResult result)
{
var itemFilters = _searchManager.GetAllFilters();
IEnumerable<ISearchItem> items;
List<IndexAction<AzureSearchItem>> actionList = new List<IndexAction<AzureSearchItem>>();
for (int i = 0; i < result.Items.Count; i = i + 32000)
{
actionList.Clear();
items = result.Items.Skip(i).Take(32000);
foreach (var item in items)
{
actionList.Add(IndexAction.MergeOrUpload(FormatSearchItem(item, itemFilters)));
}
// Post documents to index
PostBulkAssortmentDocuments(actionList.AsEnumerable());
}
}
public virtual void PostBulkAssortmentDocuments(IEnumerable<IndexAction<AzureSearchItem>> actions)
{
var batch = IndexBatch.New(actions);
try
{
var data = GetIndexClient(IndexName).Documents.Index(batch);
var passResultCount = data.Results.Where(x => x.Succeeded).Count();
var failResultCount = data.Results.Where(x => x.Succeeded == false).Count();
var MessageResult = data.Results.Where(x => !string.IsNullOrEmpty(x.ErrorMessage));
var keyResult = data.Results.Where(x => !string.IsNullOrEmpty(x.Key)).Select(x => x.Key).ToList();
var unikKey = keyResult.Distinct().ToList();
}
catch (IndexBatchException e)
{
// Sometimes when your Search service is under load, indexing will fail for some of the documents in
// the batch. Depending on your application, you can take compensating actions like delaying and
// retrying. For this simple demo, we just log the failed document keys and continue.
Console.WriteLine(
"Failed to index some of the documents: {0}",
String.Join(", ", e.IndexingResults.Where(r => !r.Succeeded).Select(r => r.Key)));
}
}
Примечание: В отношении Azure документа я не уверен, но лимит отправки документов для партии только 1000
разрешен, но для целей тестирования я прошел 0 documents in IndexBatch.New(actions);
Затем Azure выдает исключение.
'The request is invalid. Details:
actions: No indexing actions found in the request. Please include between 1 and 32000 indexing actions in your request.
'
И если я передал 32001
документов в течение IndexBatch.New(actions);
Затем Azure бросков исключение.
The request is invalid. Details: actions: Too many indexing actions found in the request: 32001. Please include between 1 and 32000 indexing actions in your request.