Sitecore 7 搜索所有内容
本文关键字:搜索 Sitecore | 更新日期: 2023-09-27 18:18:57
我正在为一个基于 Sitecore 的网站编写一个搜索网站。我已经能够走到这一步。
var query = SearchContext.GetQueryable<MySearchResultItem>().Where(i =>
i.ItemContent.Contains(this._View.SearchTerm)).ToArray();
MySearchResultsItem 定义如下。
public class MySearchResultItem
{
// Will match the _name field in the index
[IndexField("_name")]
public string Name
{
get;
set;
}
[IndexField(Sitecore.ContentSearch.BuiltinFields.Content)]
public string ItemContent
{
get;
set;
}
}
当我使用
[IndexField("_name")]
,我得到了正确的结果。但是我想在项目的所有字段中搜索,我认为可以使用
[IndexField(Sitecore.ContentSearch.BuiltinFields.Content)]
.
我做错了什么?我应该使用哪个索引字段来查询所有内容?
感谢
索引中的Sitecore.ContentSearch.BuiltinFields.Content
字段仅包含媒体库中二进制文件中的内容。如果您查看它引用的配置Sitecore.ContentSearch.ComputedFields.MediaItemContentExtractor
.
若要搜索所有字段,需要向聚合要搜索的所有字段的<fields hint="raw:AddComputedIndexField">
添加一个自定义IComputedIndexField
,或者只在 linq 查询中包含要搜索的所有字段。