Sitecore Lucene搜索排除项目

时间:2013-06-21 07:31:02

标签: web-config sitecore lucene

在Sitecore Lucene Search中,我们可以使用以下web.config标记从搜索中排除模板:

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

我的问题是:

我们如何使用web.config从搜索中排除特定项目。

是否有类似的标签:

<include hint="list:ExcludeItem"> 

我在网上搜索但找不到它。该解决方案和相关参考将不胜感激。

感谢名单

2 个答案:

答案 0 :(得分: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);
    }
}

答案 1 :(得分:0)

您可以扩展搜寻器以支持此类配置。我的公司扩展了Alex Shyba的Sitecore搜索贡献模块,以支持包含和排除<include hint="list:IncludePath"><include hint="list:ExcludePath">

的项目路径

您可以在该课程中找到具体代码:https://github.com/unic/SitecoreSearchContrib/blob/master/scSearchContrib.Crawler/Crawlers/AdvancedDatabaseCrawler.cs

这只是一个启动器,但通过它,您可以深入而干净地集成到爬虫中。 Trayek的方法也会奏效。