Sitecore 搜索模板查询

Sitecore Search Template Query

我想在 Sitecore 中查询内容项的模板,如果项的模板与 templates 变量中包含的任何 TemplateID 相匹配,它就会得到 returns 结果。 templates 变量包含要在内容项上搜索的 TemplateID 的竖线分隔列表。

我尝试了几种不同的方法,但都没有提供我正在寻找的结果。下面是一个这样的例子,我还尝试使用模板字符串上的拆分来分离每个模板,并 运行 在下面使用 foreach 循环。

var multiSearchParam = new MultiFieldSearchParam 
{
    Database = dbName,
    InnerCondition = QueryOccurance.Should
};
multiSearchParam.TemplateIds = templates;
parameters.Add(multiSearchParam);

我觉得好像我使用的条件有问题....当我 运行 它只有一个模板 ID 时,它就像一个魅力,所以它似乎是一个问题查询多个模板。

有人对我做错了什么有什么建议吗?

使用 Sitecore ContentSearch,我是这样解决的:

 Expression<Func<SearchResultItem, bool>> predicate = PredicateBuilder.True<SearchResultItem>();
            predicate = predicate.Or(p => p.TemplateName.Equals("News"));
            predicate = predicate.Or(p => p.TemplateName.Equals("Page"));

            IEnumerable<SearchResultItem> results = _searchContext
                .GetQueryable<SearchResultItem>()
                .Where(predicate);