Поиск информации в Web
Поиск по индексу
Поиск по индексу заключается в том, что пользователь формирует запрос и передает его поисковой машине. В случае когда у пользователя имеется несколько ключевых слов, весьма полезно использование булевых операторов2Логические операторы, получившие имя в честь знаменитого математика Джорджа Буля (Boole) (1815 - 1864). Буль первым показал, что существует аналогия между алгебраическими и логическими действиями, так как и те и другие предполагают лишь два варианта ответов - истина или ложь, нуль или единица. Он придумал систему обозначений и правил, пользуясь которыми можно было закодировать любые высказывания, а затем манипулировать ими как обычными числами. Булева алгебра располагала тремя основными операциями - И, ИЛИ, НЕ, которые позволяли производить сложение, вычитание, умножение, деление и сравнение символов и чисел..
Наиболее часто используемые булевы операторы:
- AND - все термины, соединенные "AND", должны присутствовать в предлагаемом документе. Большинство поисковых систем используют значок "+" вместо "AND";
- OR - как минимум одно из ключевых слов, соединенных "OR", должно присутствовать в искомом документе;
- NOT - ключевое слово (слова), следующее за "NOT", не должно появляться в искомом документе. Некоторые поисковые системы используют значок "-" вместо "NOT";
- FOLLOWED BY - одно из ключевых слов должно следовать непосредственно за другим;
- NEAR - одно из слов должно отстоять на определенное количество слов от другого;
- Кавычки - слова внутри кавычек - это фраза, которая целиком должна быть найдена в пределах документа или файла.
Текст, в пределах которого проверяется действие логических операторов, называется единицей поиска. Это может быть предложение, абзац или весь документ. В разных поисковых системах могут использоваться различные единицы поиска. Например, можно искать документы, в которых два слова - "электрический" и "счетчик" - находятся одновременно в пределах предложения или в пределах всего документа. Соответственно поиск в пределах предложения возможен для тех систем, которые имеют в индексе подробный адрес.
Синтаксис языка запросов в разных поисковых системах может отличаться, обычно в справочных данных на поисковом сервере приводится информация о синтаксисе запросов. В качестве примера в табл. 4.2. приводится синтаксис языка запросов, принятый в поисковой машине Yandex.
Многие поисковые системы имеют режим "расширенный поиск". Например, в наиболее популярной на сегодня поисковой системе Google (www.google.com) этот режим дает возможность искать документы на определенном языке, измененные в определенное время или представленные в определенном формате, например Word-документ или презентацию Power Point.
После того как пользователь передал запрос поисковой системе, она обрабатывает синтаксис запроса и сравнивает ключевые слова со словами в индексе. После этого составляется список сайтов, отвечающих запросу, они ранжируются по релевантности и формируется результат поиска, который и выдается пользователю.
Несмотря на то что человек человеку всегда лучше объяснит, что же он ищет, нельзя сказать, что современные поисковые машины - это примитивные системы, которые, кроме как найти некоторую последовательность символов, ничего не могут. Напротив, существуют, например, поисковые системы позволяющие решать проблему различных словоформ. А это далеко не тривиальная задача. Если мы ищем документ по ключевому слову "стол", то, вероятно, документ, содержащий фразу "столы для кухни" - это то, что нам нужно. Однако "стол" и "столы" для системы, осуществляющей формальное сравнение, - это разные слова. Поиск, учитывающий словоизменения, называется морфологическим поиском.