本文介绍了Sitecore中Body标记中的搜索值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想实现搜索功能,所以我的要求是希望在所有内容页面的body标记中搜索某个关键字。我不知道如何在Sitecore的Body标签中搜索关键字。请给我带路好吗?
推荐答案
正如Anton概述的那样,搜索Body标记的概念对于Sitecore来说是错误的。您需要考虑项目字段中的内容。您可以通过Sitecore的ContentSearch实现这一目标。
Sitecore附带了您应该用于搜索的开箱即用的默认索引。您应该通过内容编辑器中的索引管理器重新构建这些内容,然后根据我在下面为您概述的基本示例进行搜索。 public IEnumerable<Item> Search(string searchterm)
{
string indexName = "sitecore_web_index";
using (var index = ContentSearchManager.GetIndex(indexName).CreateSearchContext())
{
var predicate = PredicateBuilder.True<SearchResultItem>();
IQueryable<SearchResultItem> query = index.GetQueryable<SearchResultItem>().Where(i => i.Content.Contains(searchterm)).Filter(predicate);
var searchResults = query.GetResults();
foreach (var hit in searchResults.Hits)
{
yield return hit.Document.GetItem();
}
}
}
这篇关于Sitecore中Body标记中的搜索值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!