【发布时间】:2020-03-17 04:03:58
【问题描述】:
我已经创建了 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();
【问题讨论】: