正如你可以看到的那样," IsActive"列定义检测删除。 如果我去DB并更改记录" CreationTime"以及一些数据,在运行索引器后,更改将在搜索服务中应用。
虽然如果我转到数据库并将IsActive列更改为0(假,因为它是一个位列)并且创建时间偏离过程,在运行索引器后我希望记录从搜索服务中消失但是它还在那里。
答案 0 :(得分:3)
更新IsActive
列时,您需要 更新CreationTime
以指示该行已更改。
此外,Azure Search将BIT列视为布尔值而不是0/1 - 因此请尝试使用" false"作为删除标记值。
请注意,SQL集成更改跟踪策略将同时处理更新和删除 - 如果可能,请考虑使用它。
答案 1 :(得分:0)
该值需要设置为引号中的字符串,因此对您来说,应在“删除市场价值”字段中加上引号的确切值。
答案 2 :(得分:0)
IsActive列为0(false,因为它是位列)
这是问题所在。根据最新文档:
如果您有一个整数列,其中已删除的行用 值1,请使用“ 1”。 如果您有BIT列,其中已删除的行是 标记为布尔值true,使用字符串文字True或 是,大小写无关紧要。
因此,在我的情况下(BIT列),我已将 true (不带引号)设置为删除标记值,并且所有操作都像一个超级按钮。