我已经创建了 umbraco 搜索,在其中我想要一些不应该被搜索的节点,所以我能做的是我应该在搜索条件中定义一些东西,或者我应该在检查配置文件的设置或索引设置代码中做一些事情
<IndexSet SetName="DemoIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/DemoIndex/">
<IndexAttributeFields/>
<IndexUserFields/>
<IncludeNodeTypes/>
<ExcludeNodeTypes>
<add Name="News" />
</ExcludeNodeTypes>
</IndexSet>
并检查设置文件
<add name="DemoIndexer" type="UmbracoExamine.LuceneExamineIndexer, UmbracoExamine" runAsync="true"
supportUnpublished="false"
supportProtected="true"
interval="10"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net" indexSet="DemoIndexSet"/>
和用户控制代码是
public static class SearchResultExtensions
{
public static string FullUrl(this SearchResult sr)
{
return umbraco.library.NiceUrl(sr.Id);
}
}
SearchTerm = Request.QueryString["s"];
if (string.IsNullOrEmpty(SearchTerm)) return;
SearchResults = ExamineManager.Instance.SearchProviderCollection["DemoSearcher"].Search(SearchTerm,true).ToList();
SearchResultListing.DataSource = SearchResults;
SearchResultListing.DataBind();