在Sitecore Lucene Search中,我们可以使用以下web.config标记从搜索中排除模板:
<include hint="list:ExcludeTemplate">
<template>{8C18027D-CA51-4E5D-A7C1-510965555C}</template>
</include>
我的问题是:
我们如何使用web.config从搜索中排除特定项目。
是否有类似的标签:
<include hint="list:ExcludeItem">
我在网上搜索但找不到它。该解决方案和相关参考将不胜感激。
感谢名单
答案 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的方法也会奏效。