如何判断 ContentSearchManager.GetIndex(SitecoreIndexableItem) 试图使用哪个索引

How to tell what index is trying to be used for ContentSearchManager.GetIndex(SitecoreIndexableItem)

因此,ContentSearchManager.GetIndex(SitecoreIndexableItem) 返回空值。我很确定我们可能缺少索引。使用 sitecore master 数据库时,一切正常,但在 web 中为空。

我想问题是,有没有办法知道 GetIndex 正在尝试恢复返回 null 的索引。

如果您没有覆盖获取索引的默认 Sitecore 逻辑,Sitecore 会检查配置中注册的所有索引,并针对每个索引检查 SitecoreIndexableItem 是否传递给

ContentSearchManager.GetIndex(SitecoreIndexableItem)

未被排除在该索引之外。

那么就是returns 第一个匹配索引.

所以您的问题的答案是 - Sitecore 检查所有索引是否与您的项目匹配。

您可能需要查看日志中是否存在如下错误:

"There is no appropriate index for {indexable.AbsolutePath} - {indexable.Id}. You have to add an index crawler that will cover this item"

这可能会帮助您找到根本未编入索引的项目。