如何从coveo搜索的索引中删除sitecore项字段

时间:2017-08-22 07:56:17

标签: sitecore sitecore8 coveo

我想知道如何从coveo搜索的索引中删除sitecore项字段。我知道有可能通过coveo.searchprovider.config

https://developers.coveo.com/display/public/SitecoreV3/Customizing+the+Indexing+Parameters enter link description here

<exclude hint="list:AddExcludedField">
    <fieldId>{8CDC337E-A112-42FB-BBB4-4143751E123F}</fieldId>
</exclude> 

但我希望在字段级别创建属性,这将指示从索引中排除并使用该属性复选框我想从coveo索引中排除。

通过管道解释下面的博客是否可行? https://developers.coveo.com/display/public/SitecoreV3/Excluding+Sitecore+Items+From+Your+Index

1 个答案:

答案 0 :(得分:2)

是的,您正在寻找入站过滤器。

public class ApplyCoveoInboundIndexShouldBeExcludedFieldFilter : AbstractCoveoInboundFilterProcessor
{
    public override void Process(CoveoInboundFilterPipelineArgs args)
    {
        if (args.IndexableToIndex != null && !args.IsExcluded && ShouldExecute(args)) {
            if (ItemShouldBeExcluded(args.IndexableToIndex.Item)) {
                args.IsExcluded = true;           
            }
        }
    }

    private bool ItemShouldBeExcluded(IItem item) {
        return item.GetFieldValue("SHOULD_INDEX_ITEM_FIELD_NAME") == "0";
    }
}

根据您的需要修改ItemShouldBeExcluded方法。