Я пытаюсь исключить все клоны из веб-индекса Sitecore. Я создал собственный поисковый робот, наследующий от Sitecore.ContentSearch.SitecoreItemCrawler
переопределения метода IsExcludedFromIndex
, с помощью следующего кода:
protected override bool IsExcludedFromIndex(SitecoreIndexableItem indexable, bool checkLocation)
{
if (indexable.Item["Hide from Search"] == "1")
return true;
if (indexable.Item.IsClone)
return true;
return base.IsExcludedFromIndex(indexable, checkLocation);
}
Мое поле "Hide from Search"
работает: любые элементы с этим набором полей не включаются в веб-индекс. Однако indexable.Item.IsClone
никогда не бывает правдой, и все «клоны» остаются в веб-индексе.
Когда я запускаю главный индекс для этого искателя, IsClone
истинно для каждого клона, и они не включаются в индекс. Я подозреваю, что это работает для главного, а не для веб-индекса, потому что клоны расширены для целей публикации (, как отметил Джон Уэст).
Приносим извинения, если этот вопрос считается дубликатом Глобально исключить клонированные элементы из индекса? - решение там не сработало для меня, и я использую SOLR (vs Lucene) и более новую версию Sitecore, поэтому я считаю, что это может быть отдельной проблемой.
Итак, как я могу исключить все клоны из индекса SOLR веб-базы данных Sitecore 7.2 (цели публикации)?