当我使用sitecore.seach在sitecore中搜索关键字时,它会返回搜索关键字的项目名称(它所在的位置)。是否有任何选项可以在项目中获取字段名称?
我使用以下代码:
using (IndexSearchContext context = searchIndex.CreateSearchContext())
{
SearchHits hits = context.Search(searchString, new SearchContext(SiteRoot));
var results = hits.FetchResults(0, 100);
foreach (SearchResult result in results)
{
try
{
Item item = result.GetObject<Item>();
if (item != null)
{
results.AddResultToCategory(result, categoryName);
}
}
...
}
}
答案 0 :(得分:1)
如果我理解你的目标,你想找出找到搜索字符串的确切字段(字段名称),对吗?
如果是这种情况,那么你应该得到一个项目字段集合(item.Fields
),并通过它迭代检查字段值中的搜索字符串。
据我所知,Sitecore Search shell应用程序在显示结果时的工作方式相同:该项目来自SearchResult
,而字段集合只是使用简单的{{1来迭代查找命中比较。
我不知道有什么不同的方法可以做到这一点。