2016-05-30 4 views
2

Итак, ContentSearchManager.GetIndex (SitecoreIndexableItem) возвращает null. Я уверен, что нам может не хватать индекс. При использовании базы данных master-файла sitecore все работает нормально, но в сети - null.Как определить, какой индекс пытается использоваться для ContentSearchManager.GetIndex (SitecoreIndexableItem)

Я думаю, вопрос в том, есть ли способ узнать, какой индекс GetIndex пытается восстановить, который возвращает null.

+0

Кажется, что индекс, который вы передаете в GetIndex, не существует. На странице showconfig.aspx проверьте, загружены ли все файлы веб-индекса. –

+0

Я не передаю индекс, im передающий индексный индекс, чтобы позволить GetIndex разрешить более подходящий индекс в этом случае. Который ничто не кажется. – Ernesto

+0

Не могли бы вы представить, как вы его реализуете. Я имею в виду фрагмент кода –

ответ

4

Если вы не перекрываться логику Sitecore по умолчанию для получения индекса, Sitecore проверяет все индексы, которые зарегистрированы в конфигурации и для каждого из них, он проверяет, является ли SitecoreIndexableItem передается

ContentSearchManager.GetIndex(SitecoreIndexableItem) 

не исключается из этого индекса.

Тогда просто возвращает первый соответствующий индекс.

Таким образом, ответ на ваш вопрос: Sitecore проверяет все индексы, если они соответствуют вашему товару.

Вы можете просматривать ваши журналы для ошибки, как это:.

«Там нет соответствующего индекса для {indexable.AbsolutePath} - {indexable.Id} Вы должны добавить индекс искателю который будет охватывать этот пункт "

Это может помочь вам обнаружить, что элемент не индексируется вообще.

+0

Я посмотрю, но до сих пор я не нашел такую ​​ошибку. Мне бы хотелось увидеть способ вывести всю эту контрольную логику где-нибудь. – Ernesto

+0

Хорошо, это взяло меня в корень моей конкретной проблемы, используя информацию здесь: http://elenazlateva.blogspot.com/2014/10/vulnerability-with-using-sitecore.html Я перебирал индексы и сканеры и указали, что корень искателя индекса был ошибочным. Я бы сказал, что это ошибка в сикстоке, ошибка перед анализом всех индексов из-за отсутствия проверки нуля. – Ernesto

+0

@Ernesto Красиво заметили! –