Lucene 从搜索结果中排除文件夹

Lucene 从搜索结果中排除文件夹,lucene,sitecore,sitecore7,Lucene,Sitecore,Sitecore7,我正在使用sitecore 7 Lucene搜索。当我搜索任何术语时,搜索结果会显示所有文件夹和页面。我可以从搜索结果中排除文件夹吗?我有以下代码从索引中搜索文档 var searcher=Sitecore.ContentSearch.ContentSearchManager.GetIndex(“Sitecore\u web\u index”); 使用(var context=searcher.CreateSearchContext()) { var query=context.GetQuery

我正在使用sitecore 7 Lucene搜索。当我搜索任何术语时,搜索结果会显示所有文件夹和页面。我可以从搜索结果中排除文件夹吗?我有以下代码从索引中搜索文档

var searcher=Sitecore.ContentSearch.ContentSearchManager.GetIndex(“Sitecore\u web\u index”);
使用(var context=searcher.CreateSearchContext())
{
var query=context.GetQueryable();
var result=query.Where(x=>(x.Content.Contains(_searchTerm));
globalResults=result.GetResults();
}

我相信
SearchResultItem
有一个
TemplateId
属性,因此您可以使用该属性筛选出文件夹项

var result=query.Where(x=>(x.Content.Contains(\u searchTerm)&&
x、 TemplateId.ToString()!=“{--文件夹模板id-->”);

如果希望将搜索限制在特定文件夹,可以添加如下内容:

var TopSearchFolderID = new Guid("{A5D56753-E5E4-42A1-AD3E-4B43C70CC618}");
var result = query.Where(x => x.Content.Contains(_searchTerm) & x._path == TopSearchFolderID.ToString("N"));
var FolderToExcludeID = new Guid("{A5D56753-E5E4-42A1-AD3E-4B43C70CC618}");
var result = query.Where(x => x.Content.Contains(_searchTerm) & x._path != FolderToExcludeID.ToString("N"));
如果要排除特定文件夹,可以执行以下操作:

var TopSearchFolderID = new Guid("{A5D56753-E5E4-42A1-AD3E-4B43C70CC618}");
var result = query.Where(x => x.Content.Contains(_searchTerm) & x._path == TopSearchFolderID.ToString("N"));
var FolderToExcludeID = new Guid("{A5D56753-E5E4-42A1-AD3E-4B43C70CC618}");
var result = query.Where(x => x.Content.Contains(_searchTerm) & x._path != FolderToExcludeID.ToString("N"));

请编辑您的问题以添加更多详细信息。例如,搜索代码。