понедельник, ноября 20, 2006

Индексация файлов в списках

В Sharepoint 2.0 существует досадное недоразумение - документы, размещённые в списках как присоединённые файлы, не индексируются через механизм полнотекстового поиска.

С помощью форума выяснилось, что дело в вычисляемом столбце Extension таблицы Docs. Для вычисления значения этого столбца используется формула
case when [DoclibRowId] IS NOT NULL AND charindex(N'.',[LeafName] collate Latin1_General_BIN)>(0) then right([LeafName],charindex(N'.',reverse([LeafName]) collate Latin1_General_BIN)-(1)) else N'' end

Зачем был вставлен выделенный фрагмент, неизвестно (может, ошибки какие пытались исключить?), но для присоединённых файлов это условие, как раз, и выполняется.

Заменой формулы на модифицированную

case when charindex(N'.',[LeafName] collate Latin1_General_BIN)>(0) then right([LeafName],charindex(N'.',reverse([LeafName]) collate Latin1_General_BIN)-(1)) else N'' end

индексация присоединённых файлов включается и все радуются.