Алгоритмы локального поиска. Что такое локальный поиск

Это неловкое ощущение, когда найти файл в интернете получается быстрее, чем на собственном компьютере… На фоне быстрого прогресса интернет-поисковиков жанр настольного поиска выглядит тихой, зарастающей ряской лужицей. Существовавшие ранее предложения от крупных участников рынка, а здесь в свое время отметились и Google, и «Яндекс», годами не обновляются, корпорации сочли направление неперспективным и потеряли к нему интерес. Но проблема никуда не пропала. Штатный поиск Windows хорош, но далеко не идеален. Хорошим дополнением к нему станут герои нашего обзора.

Для затравки давайте кратко пробежимся по возможностям, которые нам предлагает стандартная система поиска Windows 8. Как известно, искать там можно непосредственно со стартового Metro-экрана. Просто начинаем набирать текст, автоматически открывается панель поиска, на которой и выводятся результаты поиска по установленным программам, файлам и папкам. Менее известен режим поиска системных настроек Windows, а ведь он действительно экономит время, которое было бы потрачено на походы по многочисленным запутанным меню. Кстати говоря, в различные режимы поиска можно быстро входить с помощью клавиатурных комбинаций. Win+F откроет панель в режиме поиска файлов, а Win+Q – программ. Комбинация Win+W вызовет поиск по системным параметрам.

При поиске непосредственно из Проводника Windows все дополнительные параметры вынесены на отдельную панель инструментов, которая услужливо открывается, когда мы начинаем что-либо вносить в поле поиска. Соответственно, сложные запросы предлагается составлять с помощью переключателей. C одной стороны, наглядно и довольно просто. С другой – при попытке составить более сложные запросы начинаются трудности. Например, чтобы указать точный диапазон дат создания нужного файла, в первый раз придется прилично повозиться. Для того чтобы работали дополнительные возможности, необходимо, чтобы нужный источник был отдельно предварительно проиндексирован. Соответствующую опцию можно найти в свойствах логических дисков системы. Скорость работы не сказать чтобы очень высокая. Отчасти это связано и с тем, что при поиске система выдает немало информационного шума в результатах. По умолчанию поиск Windows ищет указанные символы даже во фрагментах имен файлов, при этом обходясь с исходным запросом достаточно вольно. Такая самостоятельность имеет смысл при относительно нечетких запросах, но, когда нужно найти что-то конкретное, подобное поведение просто бесит, поскольку в итоге приходится смотреть на длиннющие списки всякой ненужной мелочи, в имени которой попалась пара символов в том же порядке, что и в заданном запросе. Все это оставляет пространство для сторонних решений. Сосредоточимся на бесплатных приложениях.

Если не вдаваться в технические подробности, существует два основных способа поиска файлов в среде Windows. Первый – это последовательный просмотр файловой структуры. Для ускорения поиска программы при этом могут строить собственные вспомогательные индексные базы. Недостаток способа – относительно низкая скорость. Преимущества – возможность параллельно индексировать и искать по содержимому файлов и наличие в связи с этим дополнительных опций. Второй способ – использование уже имеющихся журналов файловой системы NTFS. Его преимущество – очень высокая скорость, недостаток – возможность поиска только по именам файлов.

Казалось бы, объединение данных подходов в одной программе – самый очевидный шаг, который позволит взять лучшее от обоих из них. Да вот только даже самую интересную идею можно загубить недостаточно качественной реализацией. Поэтому универсального чемпиона, подходящего под наши требования, здесь, увы, пока нет. Отмечу только одно качественное коммерческое приложение – Ultra File Search. Таким образом, есть смысл познакомиться с лучшими представителями специализированных поисковиков из каждого лагеря.

Начнем с программы Listary (www.listary.com), которая встраивается непосредственно в интерфейс Проводника Windows, так что возиться с новыми окнами при ее запуске не понадобится. Вызвать софтину можно двойным щелчком в Проводнике или одинарным щелчком средней кнопкой мыши, что лично мне нравится больше. Если ориентироваться на безотрывную от клавиатуры методику, лучше использовать для вызова клавиатурную комбинацию. Назначить ее можно самостоятельно при первом запуске приложения. Так или иначе, открывается небольшая всплывающая панель, в которой по мере набора запроса выводятся подходящие результаты. Программа использует журналы NTFS, так что это приложение работает только с именами файлов. Преимущества по сравнению со стандартным поиском Windows – высокая скорость и четкое следование заданному запросу.

У Listary довольно гибкие настройки, в которых можно точно настроить как поведение программы, так и ее внешний вид. Есть тут и дополнительные функции в духе собственной истории поиска, избранного и команд.

Если говорить о самостоятельных приложениях поиска, полагающихся на возможности NTFS, то одной из самых известных является программа Search Everything (www.voidtools.com). Она изначально портативна и не требует инсталляции. Единственный нюанс состоит в том, что для запуска приложение может потребовать дополнительных прав, что несколько ограничивает его применение в портативной ипостаси. По всей вероятности, это связано с довеском в виде собственных встроенных HTTP- и FTP/ETP-серверов. При первом запуске программа создает свою индексную базу, которую автоматически впоследствии обновляет. Поиск быстрый и достаточно точный. Интерфейс у софтины простейший. Поддерживается использование полноценных регулярных выражений. Из полезных мелочей назову поддержку работы из командной строки – для этого понадобится скачать соответствующий модуль.

Разработчик программы имеет привычку надолго выпадать из нашего грешного мира, поэтому ее развитие идет неравномерными рывками. А посему при возникновении вопросов или проблем лучше рассчитывать на поддержку других пользователей софтины на форуме. Помимо самой программы предлагается собственный SDK, так что для приложения уже существует некоторое количество дополнений и расширений.

Хорошая альтернатива этой программе – приложение FileSearchy (www.filesearchy.com). Во-первых, оно переведено на русский язык. Во-вторых, софтина может похвастаться интерфейсом, построенным на закладках, так что можно вести сразу несколько поисков, обращаясь к ним по мере надобности. Результаты поиска подгружаются немедленно, все происходит очень быстро и удобно.

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

Поддерживаются все классические варианты запросов: поиск по точной фразе, фрагменту (подстановке), а также использование регулярных выражений. Какого-либо управления списком найденного, помимо сортировки по различным признакам, не предусмотрено. Режим отображения – только обычный текстовый список. Это не очень удобно, если целью поиска является картинка. Большинство изображений в реальных архивах на наших компьютерах имеют сгенерированные имена, которые мало чем помогают при поиске, это вам не графическая миниатюра.

Программка SearchMyFiles (www.nirsoft.net/utils/search_my_files.html) работает в соответствии с другой моделью организации поиска и умеет искать не только по именам, но и по содержимому файлов. Она изначально портативная, так что для запуска приложения достаточно просто распаковать скачанный архив. Для русификации интерфейса понадобится скачать и скопировать в каталог программы файл русского перевода, который доступен на ее сайте. Никаких настроек менять не надо, при следующем запуске SearchMyFiles встретит вас русским интерфейсом. Стандартный режим поиска – расширенный. Довольно подробные опции собраны в одном диалоговом окне, с помощью которого можно составлять достаточно изощренные запросы. В качестве поисковых признаков можно применять и атрибуты файлов. Поддерживается поиск по маскам. Лично мне весьма симпатична опция поиска сразу по нескольким диапазонам дат создания файлов – в некоторых случаях она действительно выручала и экономила немало времени. Внутри файлов можно искать не только текст, но и произвольные данные. Очень удобно, что и в полнотекстовом режиме можно использовать логические операторы исключения. Кроме простого поиска данное приложение можно задействовать и для выявления файлов-дублей.

Как часто вы ищете театры, рестораны или свадебные салоны вблизи своего места жительства или в другом месте? Практически, во всех крупных поисковых системах существует сервис локального поиска. В апреле 2009-го года Google ввел свой локальный поиск , когда по запросу, содержащему, наряду с ключевым словом, ваше местоположение, вам показывается карта местности с нанесенными на неё метками и список ближайших заведений. В каких случаях используется локальный поиск в Google, как в него попасть и что влияет на ранжирование в этом списке? На все эти вопросы вы сможете найти ответы в этой статье.

Что такое локальный поиск.

Введите в строке поиска Google запрос театры москвы . Вы увидите примерно следующую картину с представленной картой Москвы и адресами театров в этой местности:

Когда запрос содержит в себе координаты места, чаще в виде города, тогда ключевое слово ищется, кроме основной выдачи, также по Google Местам (Google Places в англ. варианте) и результаты отображаются на карте. Существует множество ключевых фраз, для которых не нужно указывать координаты, а поисковая система сама предложит вам ввести ваше местоположение. Среди русскоязычных слов мне не удалось найти пример, но в английском примере можно попробовать этот: dentist . Поле будет выглядеть следующим образом:

Если вам необходимо изменить местоположение, сверху карты будет соответствующая ссылка, при клике на которую можно будет убрать предыдущее значение города или ввести новое.

В локальный поиск могут добавляться любые компании и учреждения, имеющие физический адрес (даже без собственного сайта). На данный момент в бизнес-листинги (так называется запись в Google Places) размещаются рестораны, службы такси, нотариусы и другие службы, магазины и заведения. Результаты поиска по бизнес-листингам присутствуют не только в основной выдаче, но также при использовании поиска в смартфонах и кпк, а также при поиске по картам (maps.google.com). Если вы тоже хотите, чтобы ваш сайт можно было найти подобным образом, это не проблема – читайте дальше.

Как разместить бизнес-листинг в Google и попасть в локальный поиск.

Для того, чтобы разместить свой бизнес-листинг и попасть в базу локального поиска, необходимо зарегистрировать свою компанию в местах на карте Google . При заполнении формы необходимо обязательно указать адрес, телефон и категорию компании (категорий может быть несколько).

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

И наконец, самый последний шаг – подтверждение предоставленной информации тремя способами: по телефону, sms или почтой.

Самый удобный способ – подтверждение по смс, когда вам присылают в течение нескольких секунд пин-код на телефон и после подтверждения, примерно на следующий день, можно ожидать появление своего листинга в поиске.

Факторы, влияющие на ранжирование в локальном поиске

Естественно, что конкуренция в бизнес-листингах присутствует также, как и в основной выдаче, а количество записей на одной странице ограничено 7-ью листингами, остальные будут находиться в дополнительных результатах поиска. Какие же факторы влияют на позицию вашего листинга при локальном поиске?

Выбирая подходящие категории или добавляя свои, вы уже проделаете большую работу по оптимизации листинга. Категория является самым весомым внутренним фактором ранжирования, назовите их соответственно вашим высокочастотным ключевым словам в семантическом ядре.

2. Ключевые слова в описании

Описание деятельности компании при добавлении листинга должно содержать ключевые слова, хорошо вписывающиеся в маркетинговый текст. Используйте в описании лишь значимые слова и фразы.

3. Желтые страницы

Кто использует продвижение в зарубежном Google, можете использовать этот список сайтов , где можно бесплатно зарегистрировать свой листинг и, таким образом, получить преимущество над конкурентами в количестве цитирований с других ресурсов.

4. Полный адрес на странице контактов

Адрес на сайте (если он имеется) должен совпадать с адресом (адресами), предоставленными при регистрации, это придает дополнительного доверия компании и веса листингу.

Также, значимыми факторами являются:

5. Ключевые слова в заголовке (названии) компании
6. Положительные отзывы о месте (листинге)
7. Количество отзывов клиентов
8. Количество и качество входящих ссылок на сайт (если он есть)
9. Наличие во внешних анкорах на сайт название города и ключевых слов
10. Включение названия города (региона) в тайтлы на страницах сайта

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

Есть идеи?

Что интересно, траффик c поиска мест на карте хорошо конвертируется, так как, изучая карту и отзывы, посетитель наиболее вероятно ищет подобную услугу (компанию), а значит является потенциальным клиентом. Поэтому, заботясь о seo в локальном поиске Google не забывайте также и о посетителях, выражаясь как можно более информативней, выкладывая заманчивые фотографии и другие данные. Сейчас регистрация в “Местах Google” бесплатна, этим надо воспользоваться, как дополнительной возможностью стать более видным в сети.

Диски современных компьютеров часто становятся настоящими кладезями информации, собранной из самых разных источников, но если хозяин компьютера забыл местонахождение нужного файла, это почти равносильно его отсутствию. Конечно, в операционных системах имеются инструменты разыскивания файлов по их именам или содержимому документов. Однако они используют прямой поиск, предполагающий перебор всех файлов, для чего требуется недопустимо много времени.

Альтернатива прямого поиска - поисковая машина с предварительно составленным индексом. Поисковые машины в Internet используют роботов, которые загружают Web-страницы, анализируют содержащиеся на них слова, записывают результаты в индекс и переходят по ссылкам на следующую страницу. Накопленный таким образом индекс служит для подготовки ответа на запрос пользователя. Когда машина получает запрос, она ищет в индексе записи, соответствующие словам этого запроса, а потом по определенным правилам консолидирует результат для предоставления пользователю.

Однако практику индексного поиска непросто перенести на отдельный компьютер и даже в корпоративную сеть. В Internet задействуется стандартизованная технология получения информации. Большинство документов в Web применяют формат HTML, который легко преобразуется в текст, используемый впоследствии для составления индекса документа. Кроме того, в HTML определены специальные теги (такие как заголовки, ссылки, картинки), которые также служат для составления индексного файла. В последние несколько лет появилась возможность поиска по сложным форматам (например, DOC или PDF), а также по нетекстовым данным (изображения, звуковые файлы), но при их индексировании анализируются не мультимедийные файлы, а тексты ссылок на них.

На локальном диске компьютера обычно используется файловая система, которая существенно отличается от HTML, причем хранящиеся в ней файлы имеют самый разный формат. Поэтому напрямую перенести опыт индексирования Internet на локальный компьютер невозможно, но, рассмотрев опыт поисковых систем Internet и определив слабые места технологии индексирования, можно попытаться применить ее на ПК.

Индекс - это мгновенный слепок информации, полученной из первоисточника. При изменении документа, предпринятом уже после его индексирования, индекс перестанет соответствовать действительности. В Internet поисковой системе приходится постоянно опрашивать один и тот же документ на предмет его изменения, а если он перемещается в другое место или меняется его форматирование, поисковая система воспринимает его как другой документ. Локальные поисковые системы могут контролировать изменение и перемещение документов, поддерживая актуальность локального индекса. В частности, в поисковых системах Superior Search 2005 и DVYGUN Smart Search имеется агент, работающий в фоновом режиме и мгновенно обновляющий индекс при изменении какого-нибудь файла.

Важными характеристиками являются размер индекса и скорость индексации. В поисковых системах Internet размером индекса обычно не интересуются - это проблема владельца поисковой системы. А вот от скорости индексации зависит скорость повторного прохода по уже проиндексированным ресурсам. Для локального поиска важность характеристик меняется местами: размер индекса находится на первом месте, а скорость индексирования менее важна, поскольку индексирование и переиндексирование осуществляются достаточно редко, и их завершения можно подождать. В то же время файл индекса может занимать достаточно большой объем, который пригодился бы и для других целей.

Локальный поиск

Когда локальная поисковая система составляет индексный файл, она должна уметь получать информацию о содержимом документов самых разных форматов, причем стандартных для Internet-поиска HTML, PDF и DOC уже недостаточно. Кроме них на локальных дисках часто хранятся документы «1С», архивы почтовых сообщений, мультимедийные библиотеки и т.п., и если локальная поисковая машина не в состоянии проанализировать содержимое всех нужных пользователю типов файлов, ее эффективность становится спорной. В данном случае для индексирования мультимедийной информации практически невозможно применять методы Internet-поиска, поскольку файловая система содержит не развернутое описание сохраненного файла, а только дату его создания, размер и тип. Локальным поисковым машинам приходится честно разбирать форматы графических и текстовых файлов в надежде найти текстовые описания мультимедийной информации. Собственно, чем больше форматов файлов «понимает» локальная поисковая система, тем она ценнее для пользователя (хотя о распознавании содержимого мультимедийных файлов пока речь не идет).

Еще одним отличием локального от Internet-поиска является требование полноты, то есть учета всех соответствующих запросу документов, хранящихся на локальных дисках компьютера или на проиндексированных внешних носителях (компакт-диски, DVD, флэш-память). Поскольку World Wide Web - не полностью связанная система, для поисковых Internet-машин задача полноты не актуальна. А вот при локальном поиске это требование существенно, ведь для пользователя может быть принципиально важным наличие или отсутствие искомого документа. В локальном поиске можно гарантировать полноту, поскольку все данные хранятся в файловой системе, которая полностью прозрачна для поисковой машины и не имеет недоступных документальных кластеров, что возможно в Web. Тем не менее локальной поисковой машине было бы неплохо иметь доступ к разделам «чужих» операционных систем, например для Windows - к разделам Linux и других Unix-подобных операционных систем, установленных на локальном компьютере.

Еще одной проблемой полноты является поиск в коллекциях внешних носителей. Технологии индексации позволяют производить поиск даже по отчуждаемым дискам, но возникает проблема размера индекса, который должен всегда быть доступен для считывания, то есть храниться на локальном диске компьютера. Тем не менее, например, система «Архивариус 3000» предлагает возможность индексирования съемных носителей и сетевых ресурсов.

Локальные поисковые механизмы должны взаимодействовать либо интегрироваться в локальные приложения, такие как почтовые системы, клиенты систем мгновенного обмена сообщениями и т.д. (в частности, для того, чтобы при обнаружении нужного документа запустить соответствующее приложение и передать ему найденный файл). Например, в систему DVYGUN Smart Search встроен специальный механизм предварительного просмотра найденных документов с выделением ключевых слов запроса, но было бы только логично, если бы сама система локального поиска имела модули для прозрачной интеграции с разными приложениями. Если бы к локальному поиску можно было просто обращаться из меню таких приложений, пользоваться им было бы удобнее, чем в тех случаях, когда нужно открывать дополнительное приложение и выполнять поиск в нем.

У локальной поисковой машины есть возможности, которые сложно реализовать в Internet-варианте. Например, в Сети практически невозможно реализовать поиск с учетом синонимов, поскольку в объемах Web он будет давать много шума и потребует дополнительных вычислительных ресурсов, что существенно для Internet-проектов. В локальном поиске с более скромными архивами данных вполне возможно учитывать синонимы (в частности, это предлагает поисковая машина SearchInform). Кроме того, в Internet-поисковиках традиционно реализован поиск по отдельным ключевым словам, а не по целой фразе: при индексировании Internet поисковик «не помнит» последовательность слов в документе, которая важна в фразе. Локальный поиск позволяет выполнять более сложный анализ текста перед генерацией индекса, поэтому некоторые производители предлагают поиск в том числе по фразам, что увеличивает его точность. Знание последовательности слов обеспечивает поиск похожих документов, при котором учитываются не только сходство словарного распределения, но и последовательность слов в документе. Обе эти возможности также реализованы в поисковой машине SearchInform.

Локальная поисковая система при составлении индекса может учитывать и тип документа, который используется для составления индекса. Так, в формате MP3 есть специальные поля, в которых принято записывать автора композиции, стиль и другие характеристики. Локальный поисковик может применять эти дополнительные сведения для более точного поиска.

Еще одна особенность локального поиска заключается в том, что владельцы сайтов часто пытаются использовать специфические приемы для обмана поисковой машины, пытаясь поднять повыше результаты своего детища, и разработчикам поисковых машин для Internet приходится принимать соответствующие контрмеры. В частности, авторы поисковых машин обычно держат в секрете пропорции, в которых учитываются характеристики документа. Локальный же поиск, как правило, имеет дело с более логичной, чем Internet, структурой данных, и помех для него - несколько меньше, чем для Internet-поиска. Поэтому при проектировании локальных поисковых машин не требуется применять интеллектуальные приемы поиска, которые нужны Internet-поисковикам для защиты от Web-спама.

Корпоративный поиск

Если в компании много компьютеров, на которых в «распыленном» виде хранится ценная информация, то находить ее непросто. Кроме того, сотрудникам иногда требуется разыскать решение своей задачи по аналогии с принятыми ранее решениями других сотрудников, но подобные документы хранятся на дисках локальных компьютеров или на корпоративном сервере. Для решения подобных проблем предназначена корпоративная поисковая система. Часто такие системы превращаются в сложные хранилища данных, которые позволяют не только искать, но и сохранять информацию в единой базе данных. Корпоративная поисковая система отличается от них тем, что занимается только индексированием и не требует специальной дисциплины работы с документами.

Корпоративная поисковая система наследует все признаки локальной, добавляя к ним собственные проблемы, в частности проблему организации доступа. В любой компании есть документы, которые не являются публичными и в результатах открытого поиска появляться не должны, а поисковой машине нужно знать, для кого она готовит выборку документов. К тому же корпоративная поисковая машина должна поддерживать разные протоколы доступа к данным: через сетевые диски или NFS, по протоколу HTTP или протоколам доступа к базам данных. По этой причине корпоративные поисковые машины иногда называют сетевыми. Как правило, у локальных поисковиков есть «старшие братья», которые кроме локальных дисков сканируют еще и сетевые ресурсы (как, к примеру, происходит в DVYGUN Smart Search Enterprise Edition). Однако индексирования сетевых дисков недостаточно для того, чтобы поисковая машина стала корпоративной.

Не стоит путать корпоративные поисковые системы с серверными, которые устанавливаются на Web-серверах или на порталах (в том числе внутренних). Они, как правило, основаны на принципах поисковых машин Internet и предназначены для обслуживания посетителей сайта. Такие машины ограничены набором документов, публикуемых на Web-серверах или в базах данных, но в них нет черновиков и другой необработанной информации, которая может быть полезна другим сотрудникам компании. В то же время сетевую поисковую систему достаточно установить на компьютере, на котором требуется искать информацию, чтобы сделать доступными для поиска все его документы. Так, в системе «Архивариус 3000» есть возможность установки удаленного поискового агента, позволяющего производить поиск на удаленном компьютере.

К сожалению, пока не существует поисковой системы, адекватно решающей проблемы локального, а тем более корпоративного поиска. Отсутствуют системы с поддержкой распределенной системы индексирования, при использовании которой на каждом компьютере должна устанавливаться локальная система индексации, взаимодействующая с другими для организации поиска по всем ресурсам компании. Зато разработано достаточно много локальных поисковиков: Superior Search, SearchInform, «Ищейка», «Архивариус 3000», DVYGUN. Несмотря на большое количество продуктов, рынок локальных и корпоративных поисковых систем еще не сложился - сейчас идет процесс понимания корпоративными пользователями сложности задачи локального и корпоративного поиска.

Системы локального поиска

Востребованность поисковых систем, работающих с документами разных форматов и хранящихся в СУБД, сообщениях электронной почты и прочих источниках (на жестком диске компьютера, в локальной сети предприятия и др.), обусловлена непрерывным ростом объемов информации, доступной всей компании и каждому ее сотруднику. Еще несколько лет назад для удовлетворения запросов корпоративного пользователя хватало рубрикации в СУБД либо прямого поиска, но при гигантских объемах данных прямой перебор уходит на второй план.

Можно сказать, что наиболее важным параметром любой системы поиска является скорость ее работы, причем это касается как индексации, так и собственно поиска документов. Немаловажные факторы - возможность работы с разными источниками данных, поддерживаемые форматы файлов и дополнительный функционал (поддержка морфологии, синонимов, разных видов поиска). Рассмотрим результаты тестирования ряда программ, которые продемонстрировали вполне приемлемую скорость поиска и обширный функционал. Все они были установлены на компьютере с процессором Athlon/2,2 ГГц, оперативной памятью емкостью 1 Гбайт, IDE-диском Seagate на 160 Гбайт под управлением ОС Windows XP. Для тестирования была создана база документов в форматах DOC, TXT и HTML размером около 20 Гбайт.

dtSearch Desktop

Разработки компании dtSearch включают в себя линейку поисковиков для домашнего пользования и работы в корпоративной сети. Программа dtSearch Desktop с модулем dtSearch Spider умеет индексировать и находить не только файлы на компьютере пользователя, но и Web-сайты, ресурсы локальной сети, а также применять внешние индексы, созданные на других компьютерах.

Интерфейс dtSearch довольно прост. Единственный неприятный момент состоит в том, что этот интерфейс - исключительно английский, хотя искать документы программа может на нескольких языках. Скорость индексирования документов dtSearch оказалась на должном уровне: программа заняла второе место среди самых быстрых. Тестовую базу удалось проиндексировать за 6 часов 13 минут, и для нужд последующего поиска был создан индекс размером почти 8 Гбайт. Возможности dtSearch - на должном уровне. Обеспечивается поиск во всех морфологических формах слов и поиск с коррекцией ошибок, то есть работа со словами, содержащими синтаксические ошибки (опечатки, «накладки» в документах, полученных при помощи систем распознавания символов и т.п.). Поддерживаются настройки, позволяющие определять степень возможной ошибочности. Предусмотрен поиск с использованием синонимов, но готовый словарь синонимов вместе с dtSearch не поставляется.

Программа может осуществлять поиск на основе фраз, слова которых соединены логическими операциями. Каждому слову в запросе можно устанавливать в соответствие определенный «вес». Полезная опция - применение словаря незначимых слов, но он изначально пуст, и его придется заполнять самостоятельно.

Google Desktop Search с GDE Enterprise

Бесплатная разработка компании Google предназначена для поиска информации на ПК пользователя, в Internet и корпоративной сети. Однако Google предлагает платные консультации и установку системы GDS Enterprise на предприятии (10 тыс. долл. на 1 тыс. пользователей).

GDS работает в окне браузера, и, соответственно, весь интерфейс настольной версии достался программе от поисковой машины Google. К сожалению для профессионального пользователя и к счастью для неопытного, после установки GDS начинает индексировать на компьютере все подряд, и выбрать пути индексации нельзя. Придется установить отдельную программу TweakGDS, которая позволит указать необходимые для индексации пути. Для работы TweakGDS необходимы.Net Framework и Microsoft Scripting Runtime. Установка и настройка GDE для работы с локальной сетью являются непростым делом даже для квалифицированного системного администратора.

В отношении анализа поисковых запросов и выдачи результатов GDS абсолютно идентична Google для Internet: в ней имеется такая же система отображения результатов, предлагается тот же стандартный набор логических операций для поисковых запросов. Google Desktop Search предназначен исключительно для поиска файлов - нет их внутреннего визуализатора. Число форматов файлов, поддерживаемых программой, является вполне достаточным; возможен поиск и по Web-страницам. Скорость поиска и индексирования вполне приемлема для домашнего применения. С тестовой базой GDS справилась за восемь часов, но размер индексного файла оказался одним из самых маленьких - 4,5 Гбайт.

Преимущество (которое можно считать и недостатком) Google Desktop Search заключается в поддержке дополнительных модулей, однако сначала требуется установить большое количество таких модулей. А чтобы указать программе, какие файлы и папки нужно индексировать, нужно установить дополнительный компонент gdetweak. Без него будет индексироваться вся информация на компьютере пользователя и в корпоративной сети. Сложность полноценной установки компенсируется очень гибкими настройками при использовании в корпоративных сетях. Немаловажным моментом работы GDS в локальной сети является применение групповых политик, что позволяет делать личные настройки для каждого пользователя.

Copernic Desktop Search

Данная программа ориентирована на домашнего пользователя и позволяет осуществлять поиск документов как на локальном компьютере, так и в Internet. Интерфейс программы вызывает исключительно положительные эмоции - ничего лишнего, удобно и красиво. При первом запуске программа предлагает создать индексы для поиска. Правда, сам процесс индексации проходит в фоновом режиме, что вполне годится для домашнего пользователя, но не вяжется с корпоративным применением. В программе предусмотрены настройки автоматического создания индекса: встроенный планировщик, индексация во время простоя компьютера в фоновом режиме или с указанным приоритетом. Индексация тестовой базы заняла почти 11 часов.

Изначально Copernic Desktop Search позволяет выбрать для индексирования документы, изображения, видео и музыку. Дополнительно можно настроить индекс так, чтобы, например, не индексировались картинки размером менее 16х16 или менее чем 10-секундные звуковые файлы. Кроме того, программа умеет работать с электронными письмами и контактами из адресной книги Outlook и Outlook Express, индексировать закладки Internet Explorer. Анализ запросов - довольно слабый, но можно выбрать тип файлов и ввести поисковый запрос с атрибутами, присущими именно такому типу файлов. Например, для звуковых файлов это могут быть значения из mp3-тегов (артист, альбом, дата и т.п.), а для изображений можно выбрать их размер.

Отдельно стоит упомянуть об окне отображения результатов и обработке русскоязычных текстов. Под списком найденных файлов отображается их содержимое. Правда, просмотр файлов возможен лишь при помощи той программы, в которой они были созданы. Режима отображения простого текста нет, что не всегда удобно, так как для открытия документа нужно больше времени. Большинство содержащих русский текст документов в форматах HTML и TXT, хотя они и были проиндексированы, удавалось найти лишь по названиям.

iSYS Desktop

Продукты компании ISYS ориентированы на бизнес-пользователей и предназначены для поиска как на настольных компьютерах, так и в корпоративных сетях и Internet.

Интерфейс рассматриваемой системы весьма симпатичен, в нем нет чего-либо лишнего, но новичку будет непросто разобраться в том, где и что находится, куда нажимать и как провести поиск. Отсутствует поддержка русского языка. Окна не перегружены элементами управления, однако расплатиться за это пришлось многомодульностью и использованием дополнительных окон. Например, поисковые запросы вводятся при помощи одной программы, а управление индексами осуществляется при помощи другой. Поисковые запросы вводятся и в отдельных окнах.

Программа упрощает установку опций для нового индекса благодаря включению готовых шаблонов для создания индексов по папкам «Мои документы», «Почта», «Почта и документы», «Определенная папка», «Папка с выбором типов файлов» и др. Такие шаблоны упрощают создание индексов на первом этапе организации поиска. ISYS Desktop умеет индексировать данные из разных источников, предоставляет множество гибких настроек и возможностей индексации. Программа создала индекс для тестовой базы за 6 часов 13 минут, сформировав файл размером 7,9 Гбайт.

Включенный в ISYS функционал поиска значительно мощнее обычной поддержки логических операций и находится на одном уровне с функционалом dtSearch. Из «продвинутых» возможностей предлагаются синонимия и фильтры сортировки (по пути, имени и дате создания файла). Также программа позволяет работать со многими операторами, которые способны заменить некоторые виды поиска (например, вместо поиска с синтаксическим разбором использовать специальные символы). Удивляет то, что в программе отсутствует поиск с применением морфологии, но заявлены такие функции, как «приблизительный поиск» и «эвристический анализ». ISYS предоставляет на выбор несколько «визуальных» видов поисковых запросов.

Результаты поиска вполне информативны и отображаются в виде списка документов, отсортированных по релевантности. В отличие, например, от Copernic Desktop Search, в данном случае просмотр результатов возможен лишь в виде плоского текста. Программа позволяет разбивать найденные документы на группы по определенным признакам (по умолчанию они разделены по релевантности). Можно также просматривать уже найденные документы, выбирая отдельные папки (это удобно, когда результат состоит из очень большого числа документов).

Использование программы в корпоративной сети также оправданно: предоставлены неплохие возможности организации сетевого поиска. Система поиска основана на создании общедоступного индекса, который содержит проиндексированные данные с общедоступных сетевых ресурсов. Также стоит отметить прекрасно проработанную рубрикацию документов, что весьма важно для применения в корпоративных сетях предприятия.

SearchInform Desktop Professional

Эта программа полнотекстового поиска документов на персональном компьютере совмещает возможности фразового поиска с учетом морфологии и словаря синонимов с технологией поиска похожих документов.

Интерфейс SearchInform Desktop Professional несколько громоздок - поначалу не так-то просто вспомнить, в каком меню или на какой вкладке находится нужная опция. Процесс создания индекса в SearchInform несложен, да и скорость индексации у продукта выше, чем у других поисковиков. Программа проиндексировала тестовую базу за 3 часа 17 минут, создав индексный файл размером 4,4 Гбайт. Помимо обычных файлов и папок SearchInform поддерживает индексацию электронных писем, подключение и индексацию баз данных и других внешних источников. При индексации можно указать словарь для проведения морфологического поиска.

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

Изюминка программы - возможность поиска документов, похожих по своему содержимому на текст запроса. В отличие от стандартного фразового поиска, в данном случае удается избежать предварительного подбора ключевых слов, что позволяет сократить время поисковой сессии. Для работы с сетью предлагаются клиент-серверная архитектура и политика настройки доступа к проиндексированным документам.

Подведем итоги

Программы Google Desktop Search и Copernic Desktop Search вполне подойдут неискушенному пользователю в качестве домашних систем поиска информации. Они неплохо справляются с простыми запросами, обеспечивают достаточную скорость работы и бесплатны. Впрочем, для полноценной работы программу Google нужно оснастить дополнительными модулями, а процесс сетевой настройки затруднителен. Пользователям предлагаются «настольные» версии и более мощных, профессиональных решений dtSearch, iSYS и SearchInform, но не бесплатно. Разработчики таких программ акцентируются преимущественно на корпоративном секторе - их продукты отличает возможность работы с сетью, функциональность, скорость индексации и поиска.

Макс Магляс ([email protected]) - независимый автор (Москва).

Параметры поиска, встроенные в Windows 7 и 8.x являются исключительно мощными и полезными инструментами, которые могут помочь вам за считанные секунды найти именно то, что вам нужно на вашем ПК: от отдельных файлов и системных настроек до веб-страниц.

Использовать эти параметры очень легко, но есть некоторые небольшие хитрости, которые позволят вам использовать их более эффективно.

Базовые возможности

Для поиска в Windows 7 или 8.x достаточно один раз нажать на клавишу и начать печатать.

Результаты начнут появляться мгновенно после ввода первых символов, а вы можете сразу же выбрать среди них именно том, что вам нужно. Также вы можете продолжить вводить ключевые слова, чтобы максимально сузить возможные ответы.

Например, если вы хотите быстро запустить Chrome, просто нажмите клавишу и напишите «Chr», а после этого нажмите Enter. Тем самым де-факто будет запущен первый найденный результат.

Если вам нужен конкретный документ – например, Text.doc, напишите его название в поле поиска и нажмите Enter – он будет открыт в текстовом редакторе по умолчанию.

Тот же метод можно использовать и для поиска определенных системных параметров в панели управления. Если написать в поле для поиска слово «Брандмауэр», вы увидите все встроенные опции для управления брандмауэром Windows.

Меню для поиска также можно использовать для открытия веб-страниц. Если вы напишите сайт и нажмете Enter, наш сайт откроется в вашем браузере по умолчанию.

Поиск файлов

Windows обеспечивает поиск непосредственно в Проводнике. Чтобы найти нужный файл, хранящийся на локальном диске устройства, выберите в дереве папок нужный диск (для поиска на всем диске) или конкретный каталог (если вы предполагаете, где находится нужный файл), а затем введите ключевое слово в соответствующее поле, которое находится в правом верхнем углу Проводника. Используйте доступные опции в выпадающем меню, чтобы сузить результаты путем их фильтрации по дате создания файла, размеру, типу и др.

Управление поиском

Чтобы искать быстро и эффективно Windows постоянно выполняет действие, известное как индексирование. Об этом заботится специальный системный модуль, который постоянно отслеживает изменения в файловой структуре – так же как Google постоянно следить за глобальной сетью для ускорения процесса поиска. По умолчанию Windows держит «на коротком поводке» наиболее важные системные папки, такие как папка C:\Users, где сосредоточены все пользовательские файлы и настройки, с которыми вы взаимодействуете на ежедневной основе.

Если вы хотите расширить охват службы индексирования, вы можете сделать это в соответствующем системном разделе для настройки. В поле для поиска введите «Параметры индексирования» и нажмите Enter. Затем, используя кнопку «Изменить», вы можете добавить другие важные каталоги, чтобы они индексировались чаще, чем остальная часть дерева файлов на разделах ваших дисков.

Поиск Bing

Это вариант, который появился в Windows 8.1, и он очень удобен. Всякий раз, когда вы ищите что-то локальное через меню «Поиск», система показывает дополнительные результаты с информацией из поисковой системы от Microsoft – Bing.

Описанная ниже стратегия нередко приводит к оптимальному решению задачи.

1. Начните с произвольного решения.

2. Для улучшения текущего решения примените к нему какое-либо преобразование из некоторой заданной совокупности преобразований. Это улучшенное решение становится новым "текущим" решением.

3. Повторяйте указанную процедуру до тех пор, пока ни одно из преобразований в заданной их совокупности не позволит улучшить текущее решение.

Результирующее решение может, хотя и необязательно, оказаться оптимальным. В принципе, если "заданная совокупность преобразований" включает все преобразования, которые берут в качестве исходного одно решение и заменяют его каким-либо другим, процесс "улучшений" не закончится до тех пор, пока мы не получим оптимальное решение. Но в таком случае время выполнения пункта 2) окажется таким же, как и время, требующееся для анализа всех решений, поэтому описываемый подход в целом окажется достаточно бессмысленным. Этот метод имеет смысл лишь в том случае, когда мы можем ограничить нашу совокупность преобразований небольшим ее подмножеством, что дает возможность выполнить все преобразования за относительно короткое время: если "размер" задачи равняется , то мы можем допустить или преобразований. Если совокупность преобразований невелика, естественно рассматривать решения, которые можно преобразовывать одно в другое за один шаг, как "близкие". Такие преобразования называются "локальными", а соответствующий метод называется локальным поиском.

Пример. Одной из задач, которую можно решить именно методом локального поиска, является задача нахождения минимального остовного дерева. Локальными преобразованиями являются такие преобразования, в ходе которых мы берем то или иное ребро, не относящееся к текущему остовному дереву, добавляем его в это дерево (в результате мы должны получить цикл), а затем убираем из этого цикла в точности одно ребро (предположительно, ребро с наивысшей стоимостью), чтобы образовать новое дерево.

Алгоритмы локального поиска проявляют себя с наилучшей стороны как эвристические алгоритмы для решения задач, точные решения которых требуют экспоненциальных затрат времени. Общепринятый метод поиска состоит в следующем.

Начать следует с ряда произвольных решений, применяя к каждому из них локальные преобразования до тех пор, пока не будет получено локально-оптимальное решение, т.е. такое, которое не сможет улучшить ни одно преобразование. Как показано на рис. 10.19, на основе большинства (или даже всех) произвольных начальных решений мы нередко будем получать разные локально-оптимальные решения. Если нам повезет, одно из них окажется глобально-оптимальным, т.е. лучше любого другого решения.

На практике мы можем и не найти глобально-оптимального решения, показанного на рис. 10.19, поскольку количество локально-оптимальных решений может оказаться колоссальным. Однако мы можем по крайней мере выбрать локальнооптимальное решение, имеющее минимальную стоимость среди всех найденных нами решений. Поскольку количество видов локальных преобразований, использующихся для решения различных задач, очень велико, мы завершим этот раздел описанием двух примеров: задачи коммивояжера и простой задачи размещения (коммутации) блоков.

Задача коммивояжера

Методы локального поиска особенно хорошо подходят для решения задачи коммивояжера. Простейшим преобразованием, которым можно в этом случае воспользоваться, является так называемый "двойной выбор". Он заключается в том, что мы выбираем любые два ребра, например ребра (А, В) и (С, D), показанные на рис. 10.20, удаляем их и "перекоммутируем" соединявшиеся ими точки так, чтобы образовался новый маршрут. На рис. 10.20 этот новый маршрут начинается в точке В, продолжается по часовой стрелке до С, проходит по ребру (С, А), затем - против часовой стрелки от А к D и наконец по ребру (D, В). Если сумма длин (А, С) и (В, D) оказывается меньше суммы длин (А, В) и (С, D), значит, нам удалось получить улучшенный маршрут.1 Обратите внимание, что мы не можем соединить точки А и D, В ~и С, поскольку полученный результат будет являться не маршрутом, а двумя изолированными друг от друга циклами.




Top