更新azure搜索索引会将某些字段设置为null

时间:2017-10-28 02:38:03

标签: azure-search

我有一个带有Cosmos DB的Azure搜索索引。 在我的数据库中,我在一个集合中有四个文档。每个文档都有四个字段:field1,field2,field3,field4。并且所有这些都有一个值,而不是NULL。

在Azure门户中,目前我的索引有三个字段(field1,field2,field3)作为Searchable和Retrievable。搜索工作正常,我可以获得包含3个字段和值的四条记录。

现在我通过将一个新字段添加为具有Searchable和Retrievable的field4来更新我的索引。然后运行我的索引器来更新索引。我注意到只有一条记录的field4具有值,而其他记录具有field4:null

我做了几次相同的测试,发现它发生在一些记录中。有时它给我一个记录,field4有一个值。有时它给我两个/三个记录,field4有一个值。

有谁知道这个问题以及幕后背后的魔力是什么?

1 个答案:

答案 0 :(得分:1)

如果基础Cosmos DB数据未更改,则索引器不会更新索引,因为索引是增量式的。要触发从头开始重新索引,请重置索引器 - 您可以使用reset indexer API或直接在Azure门户/索引器属性刀片中执行此操作。

您有时会看到一个或多个“神奇地”拾取的更改的可能原因是Azure Search增量索引逻辑可以补偿时间偏差,因此最近添加的Cosmos DB文档可以重复处理。