Журнал о системах электронного документооборота (СЭД)
Технические вопросы ресурса

Что иногда значит маленькая галочка или битва с великой службой Microsoft Indexing Service

  1 комментариев Добавить в закладки

Стояла передо мной типичная задача – организовать полнотекстовый поиск по материалам для сайта. В силу ряда причин (техническое обеспечение хостинга сайта, организация сайта, политика компании) был выбран вариант с использованием службы MicrosoftIndexingService, тем более что ее функционала для тривиального поиска по текстовым файлам хватало.

По истечении некоторого времени был разработан код, который великолепно работал на локальной машине, но как только его перенесли на тестовый сервер – поиск перестал работать :‑(

Не буду подробно описывать, что я делал, чтобы восстановить работоспособность, скажу только, что в ходе этих мытарств сайт, заточенный под конкретные настройки, стал более гибким к настройке (что меня несколько успокаивало). Однако поиск все равно не работал!!!

Был настроен каталог полнотекстового индекса, для него добавлены папки, подобраны соответствующие запросы, проверены все настройки службы – не работает… =(

Как оказалось, все дело в маленькой галочке (точнее, ее отсутствии) в расширенных атрибутах файла (да и папки) «Индексировать содержимое для быстрого поиска». И подсказал мне это решение человек, далекий от программирования и никогда не работавший со службой индексирования. Вот так! Кстати, этот атрибут наследуется от предка, т.е. вы можете задать его и у папки.

 

PS: Замечания для веб-программистов – в свойствах виртуальной папки или веб-узла в IIS  на вкладке «Домашний каталог» есть галочка-аналог «Индексация каталога». Не забывайте про нее. Например, можно исключить из поиска некоторые служебные файлы, картинки, файлы логов и т.п.

Ещё материалы автора
Похожие записи
Комментарии (1)
Сергей Мезрин 22 декабря 2006 г. 18:47  

В настоящее время любое программное обеспечение требует от его разработчика иметь хотя бы малое представление о "попутных" технологиях, работающих в той же самой среде (в общем случае - windows в целом, включая все надстраиваемые сервисы). Без этого не создать эффективно работающую программу, и хорошо, если вообще удастся создать что-то запускающееся. Но обо всех существующих взаимосвязях знать нельзя! И недостаток таких знаний у программиста приводит к необходимости иметь аналогичные знания конечным потребителям программы - пользователям.  Именно поэтому любой разработчик (здесь - программист) никогда не является одиночкой.  Ведь любое массово воспроизводимое изделие - результат коллективного труда, обратные примеры крайне редки. Любые программы создаются коллективом, и не важно - сидит ли этот коллектив под одной крышей или истина рождается в результате диалога с иногородним заказчиком. По моему мнению, очень важно чтобы в таком коллективе обязательно были соучастники с развитым кругозором - не только из области средств программирования. Команда программистов, не подумавшая о вышеизложенном, вынуждает пользователей создавать свой "коллектив", сообща разрешающий заложенные в ПО "особенности". И, как правило, в таком случае в сторону компании-разработчика ПО сыплются нелицеприятные отзывы.

Дмитрий, являясь "программистом" по своим прямым функциям, в описанном им случае оказался в качестве "пользователя" Microsoft Indexing Service. Программист же, написавший Microsoft Indexing Service (автор - компания Microsoft конечно :-), не продумал - на какие мучения поиска "маленькой галочки" он обрекает пользователя при попытке запустить сервис. Дмитрию пришлось прибегнуть к помощи своего пользовательского "клуба" в котором и оказался этот "далекий от программирования человек", неожиданно способный распутать клубок настроек. А выход из этой ситуации прост - предусмотреть еще на этапе разработки ПО реализацию автоматической проверки общесистемного атрибута "Индексировать содержимое для быстрого поиска". Такая проверка навсегда избавит пользователя от подобных мучений. А сколько еще таких "подводных камней"..?

К чему это все? А к тому, что "люди всякие нужны, люди всякие важны"! И, как мы убедились на примере Дмитрия, - со стороны пользователя, а со стороны программиста - особенно! Даже такие "далекие от программирования" :-)

Сейчас обсуждают
Больше комментариев