2013-06-21 77 views
0

在Sitecore的Lucene的搜索,我們可以排除從下面的web.config標籤搜索模板:Sitecore的Lucene的搜索排除項目

<include hint="list:ExcludeTemplate"> 
    <template>{8C18027D-CA51-4E5D-A7C1-510965555C}</template> 
</include> 

我的問題是:

我們怎樣才能排除特定項目從使用web.config進行搜索。

有沒有類似這樣的標記:

<include hint="list:ExcludeItem"> 

我在網上搜索,但沒有找到它。該解決方案和相關的參考將不勝感激。

感謝名單

+2

沒有達到需要使用什麼只配置文件的方式。下面的@Trayek答案解釋瞭如何從代碼中做到這一點。請記住將'CustomCrawler'設置爲您的位置抓取工具。 –

回答

4

不知道是否有可能通過web.config中的事,但你可以有你的模板的複選框,其中,如果是檢查它不會被添加到索引?

這將意味着一個自定義的履帶,雖然,這會做這樣的事情:

public class CustomCrawler : DatabaseCrawler 
{ 
    protected override bool IsMatch(Item item) 
    { 
     if (MainUtil.GetBool(item["include in search"], false)) 
     { 
      return false; 
     } 

     return base.IsMatch(item); 
    } 
} 
0

您可以擴展爬蟲來支持這種類型的配置。我公司擴展亞歷Shyba的Sitecore的搜索的contrib模塊,支持包容性和項目的路徑排除與<include hint="list:IncludePath"><include hint="list:ExcludePath">

您可以在該類的具體代碼:https://github.com/unic/SitecoreSearchContrib/blob/master/scSearchContrib.Crawler/Crawlers/AdvancedDatabaseCrawler.cs

這僅僅是一個首發,但通過這種方式,您可以對搜索器進行深入,全面的整合。 Trayek的方法也會起作用。