2013-06-21 3 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"> 

Я искал в Интернете, но не смог его найти. Решение и соответствующая ссылка будут оценены.

Thanx

+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

Вы можете расширить искателю поддерживать этот тип конфигурации. Моя компания расширила поиск CONTRIB модуль Sitecore Алекса Shyba поддержать включение и исключение путей элементов с <include hint="list:IncludePath"> и <include hint="list:ExcludePath">

Вы можете найти конкретный код в этом классе: https://github.com/unic/SitecoreSearchContrib/blob/master/scSearchContrib.Crawler/Crawlers/AdvancedDatabaseCrawler.cs

Это только стартер, но с тем, что вы можете сделать глубокую и чистую интеграцию в гусеничном шасси. Подход Трайка тоже сработает.