首页 > 解决方案 > 如何在 C# 中的索引器参数上设置 convertHighWaterMarkToRowVersion?

问题描述

我正在尝试根据本文档在我的搜索索引器上设置“convertHighWaterMarkToRowVersion”配置设置,但无法弄清楚如何使用 C# 中的 Azure 搜索 SDK 执行此操作。

https://docs.microsoft.com/en-us/azure/search/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers#converthighwatermarktorowversion

我可以看到有一个名为 IndexingParameterConfiguration 的属性作为 IndexingParameters 对象的一部分,但我尝试的一切似乎都不起作用,我找不到任何示例。

var parameters = new IndexingParameters()
{
    BatchSize = 100,
    MaxFailedItems = 0,
    MaxFailedItemsPerBatch = 0,
    IndexingParametersConfiguration = ?
};

var indexer = new SearchIndexer(indexerName, dataSource.Name, searchIndex.Name)
{
    Description = "Indexer configured to crawl " + searchIndex.Name,
    Parameters = parameters                
};

有任何想法吗?

标签: c#azure-cognitive-searchindexerazure-search-.net-sdk

解决方案


convertHighWaterMarkToRowVersion是一个不常见的设置,没有设置器/获取器,因此您需要通过键显式设置它。

var config = new IndexingParametersConfiguration();
config["convertHighWaterMarkToRowVersion"] = true;

var parameters = new IndexingParameters()
{
    BatchSize = 100,
    MaxFailedItems = 0,
    MaxFailedItemsPerBatch = 0,
    IndexingParametersConfiguration = config
};

var indexer = new SearchIndexer(indexerName, dataSource.Name, searchIndex.Name)
{
    Description = "Indexer configured to crawl " + searchIndex.Name,
    Parameters = parameters                
};

推荐阅读