Azure-Search上的索引器损坏(错误:具有相同名称的多个列)

时间:2015-11-27 13:18:37

标签: sql-server azure azure-search

我们的Azure搜索索引器遇到了一个突然而奇怪的问题。我们有一个索引(2015-02-28-预览版),其中包含基于SQL Azure v12数据库表的相应数据源和索引器。已启用更改跟踪,并且已在索引中正确转发更改。几天前,我们注意到数据库中的最后一次更改没有更好地复制到索引这一事实。处于开发阶段,这个索引经常被开发人员重建,没有人注意到什么时候开始出错了。

在Azure门户中,索引以红色显示,并显示一条错误消息,指出数据源中有一个重复的列...(" 数据源包含多个具有相同名称的列' ProductId' ")这是假的。我们清理了数据库并尝试了几件事,但找不到任何重复的列。至于今天,情况如下:

1 /删除并重新创建所有内容(索引,索引器和数据源)后,索引将填充SQL表中的2000个文档

2 /索引已满,可以毫无问题地进行查询,但它仍然显示为红色,其中包含"重复列"错误消息

3 /由于此错误,我们无法手动强制从azure门户网站

新建索引

4 /为了反映索引表的变化,我们必须再次运行删除索引,索引器和数据源的脚本并重新创建所有内容。运行此脚本之后..我们回到上面的步骤1(索引可查询,但处于错误状态,无法删除/重新创建时无法更新)。

这个问题似乎突然发生在我们这边没有任何改变,好像有一个服务器端版本更改。是否有更新版的Azure Search Rest API可用?有没有人遇到过同样的问题,或者对我们可以检查的事情有任何暗示?

感谢您的帮助,让我们了解可能会破坏的内容,

1 个答案:

答案 0 :(得分:0)

由于Eugene的调查,问题得以解决。他发现了用于生成数据源的C#代码中的错误:数据库中“ProductId”列与索引中“ProductID”字段之间的大小写差异。

我们修正了拼写错误,问题已经消失。微软的支持表示,他们将在未来几周内解决这个问题" :用于正常工作的相同代码(并且在第一次运行时仍然正常工作),因此看起来索引过程在某种程度上比以前更加区分大小写。