Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IndexBatch.MergeOrUpload未更新Azure搜索索引,但Indexer正在更新_Azure_Indexing_Azure Cognitive Search_Azure Search .net Sdk - Fatal编程技术网

IndexBatch.MergeOrUpload未更新Azure搜索索引,但Indexer正在更新

IndexBatch.MergeOrUpload未更新Azure搜索索引,但Indexer正在更新,azure,indexing,azure-cognitive-search,azure-search-.net-sdk,Azure,Indexing,Azure Cognitive Search,Azure Search .net Sdk,Azure搜索服务有4个索引,其中3个索引配置为Azure SQL View数据源的高水位线更改跟踪策略。索引器每30分钟运行一次 在某些情况下,我们需要合并并将一些文档直接上载到索引。我们首先更新数据库,然后通过Azure Search.Net SDK进行索引。我们正在将对象数组传递给MergeOrUpload。我的问题是,如果我通过1条记录,索引将正确更新,并且我可以看到更新的搜索结果。但是,当我尝试合并或上载多个记录时,索引不会得到更新,但在下一个计划的索引器运行后,它们会成功地被索引。请

Azure搜索服务有4个索引,其中3个索引配置为Azure SQL View数据源的高水位线更改跟踪策略。索引器每30分钟运行一次

在某些情况下,我们需要合并并将一些文档直接上载到索引。我们首先更新数据库,然后通过Azure Search.Net SDK进行索引。我们正在将对象数组传递给MergeOrUpload。我的问题是,如果我通过1条记录,索引将正确更新,并且我可以看到更新的搜索结果。但是,当我尝试合并或上载多个记录时,索引不会得到更新,但在下一个计划的索引器运行后,它们会成功地被索引。请注意,我在MergeOrUpload之后获得了成功,但无法看到更新/插入的记录

下面是我们从Azure Search.net SDK使用的调用-

public async Task<DocumentIndexResult> UpsertRecords(string index, object[] records)
        {
         if (index.Equals("MyIndexName",StringComparison.CurrentCultureIgnoreCase))  
            {
            var batch = IndexBatch.MergeOrUpload(records);
            return await custDataIndex.Documents.IndexAsync(batch);
            }
        }
公共异步任务UpsertRecords(字符串索引,对象[]记录)
{
if(index.Equals(“MyIndexName”,StringComparison.CurrentCultureIgnoreCase))
{
var batch=IndexBatch.MergeOrUpload(记录);
返回等待custDataIndex.Documents.IndexAsync(批处理);
}
}

记录数组中对象的基本类型是什么?@BruceJohnston这是myindex.json文件的类定义,定义了iindex ARM创建。是否必须使用SerializePropertyNamesCamelCase装饰该类,我的案例中缺少该类?这有什么区别吗?这取决于模型类中的属性是否与索引字段的大小写匹配。既然您有一个模型类,为什么不传递该类型的数组而不是对象[]?UpsertRecords是一个通用函数,用于合并和上载其他索引。为了简单起见,我只在代码片段上方显示了一个索引。但我会把它分开。我实际上得到了类型列表,并将其强制转换为对象数组。记录数组中对象的基本类型是什么?@BruceJohnston这是myindex.json文件的类定义,定义了IIIndex ARM Creation。必须用SerializePropertyNamesCamelCase装饰这个类,我的例子中缺少这个类吗?这有什么区别吗?这取决于模型类中的属性是否与索引字段的大小写匹配。既然您有一个模型类,为什么不传递该类型的数组而不是对象[]?UpsertRecords是一个通用函数,用于合并和上载其他索引。为了简单起见,我只在代码片段上方显示了一个索引。但我会把它分开。我实际上得到了类型列表,并将其强制转换为对象数组。