【问题标题】:Broken indexer on Azure-Search (error: multiple columns with the same name)Azure-Search 上的索引器损坏(错误:具有相同名称的多个列)
【发布时间】:2016-03-01 17:02:38
【问题描述】:

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

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

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

2/ 索引已满,可以毫无问题地查询,尽管它仍然显示为红色并带有“重复列”错误消息

3/ 由于这个错误,我们无法从 azure 门户手动强制建立新索引

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

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

感谢您帮助阐明这里可能出现的问题,

【问题讨论】:

  • 您好,我在 Azure 搜索团队工作,可以帮助调查此问题。您能否通过电子邮件将您在 eugenesh 的服务名称和索引器名称通过电子邮件发送给我,在通常的 Microsoft 域中?谢谢!

标签: sql-server azure azure-cognitive-search


【解决方案1】:

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

我们修正了拼写错误,问题就解决了。微软支持表示他们将“在未来几周内解决这个问题”:相同的代码过去可以正常工作(并且在第一次运行时仍然可以正常工作),所以看起来索引过程在某种程度上变得更加区分大小写之前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-08
    • 2015-02-10
    • 2017-02-20
    • 2013-02-16
    • 1970-01-01
    • 2014-09-20
    • 2014-08-26
    • 1970-01-01
    相关资源
    最近更新 更多