存在按字段列出的Sitecore快速查询筛选器,空

存在按字段列出的Sitecore快速查询筛选器,空,sitecore,Sitecore,我是否可以在Sitecore Shell中的Developer Center下使用XPath Builder来选择节点下的所有项目,并根据字段(如果存在)和单行文本字段对其进行筛选? 使用快速查询(不受query.MaxItems设置的限制) 例如:fast://sitecore/content//*[@#我的领域#!=''] 但是此查询不区分空字段和不存在的字段,我希望结果中有空字段,而不是字段不存在的项目。以下是一篇文章,介绍如何修复快速查询以按字段搜索: 否则,类似的方法会起作用:

我是否可以在Sitecore Shell中的Developer Center下使用XPath Builder来选择节点下的所有项目,并根据字段(如果存在)和单行文本字段对其进行筛选? 使用快速查询(不受query.MaxItems设置的限制)

例如:
fast://sitecore/content//*[@#我的领域#!='']


但是此查询不区分空字段和不存在的字段,我希望结果中有空字段,而不是字段不存在的项目。

以下是一篇文章,介绍如何修复快速查询以按字段搜索:

否则,类似的方法会起作用:

   Item[] items = Sitecore.Context.Database.SelectItems("/sitecore/content//*[@MyField != '']")
或使用索引:

public IEnumerable<SearchExample> Example()
        {
            using (var context = ContentSearchManager.GetIndex(GlobalIndex).CreateSearchContext())
            {
                var query = context.GetQueryable<SearchExample>()
                    .Where(item => item.MyField != null)                    
                    .ToList();
                return query;
        }
    }
public IEnumerable示例()
{
使用(var context=ContentSearchManager.GetIndex(GlobalIndex.CreateSearchContext())
{
var query=context.GetQueryable()
.Where(item=>item.MyField!=null)
.ToList();
返回查询;
}
}

不要认为使用sitecore查询是可能的。您可能必须使用linq来代替sitecore。我认为这是不可能的,为什么不按模板查询呢?您知道包含字段的所有模板。对,通过查询模板,我可以进行查询。